requirejs - ไม่สามารถค้นหาโมดูลภายนอกของ typescript ในแพ็กเกจ bower
ฉันสร้างแพ็กเกจ bower พร้อมซอร์ส TypeScript (โมดูลภายนอก) ในโปรเจกต์อื่น ฉันติดตั้งแพ็กเกจ bower ของฉันโดยใช้
bower install wrath
และอ้างถึงแพ็กเกจนั้นกับ amd require
import Model = require('wrath/Model');
จากนั้นตัวคอมไพเลอร์ tsc จะแสดงข้อผิดพลาด error TS2307: Cannot find external module ฉันไม่สามารถหาวิธีทำให้คอมไพเลอร์รู้ว่าควรค้นหาโมดูลนั้นในโฟลเดอร์ bower_components
ฉันมีโครงสร้างโฟลเดอร์แบบนี้
app
main.ts
bower_components
wrath
Model.ts
View.ts
...
มีใครมีวิธีแก้ปัญหานี้บ้างไหม?
ผมจริง ๆ แล้วพบวิธีแก้ปัญหานี้โดยการสร้างลิงก์สัญลักษณ์ของไดเรกทอรีแพ็กเกจ bower ร่วมกับไดเรกทอรีแอป กำลังมองหาวิธีที่ดีกว่านี้
คำตอบ #1
ฉันไม่สามารถหาวิธีทำให้คอมไพเลอร์รู้ว่าควรค้นหาโมดูลนั้นใน bower_components ได้
ตอนนี้ไม่มีวิธีแก้ไขอื่นนอกจาก การอ้างอิงแบบเข้มงวด:
import Model = require('./bower_components/wrath/Model');
หมายเหตุ: มีความต้องการอย่างมากในการสนับสนุน node_modules : https://github.com/Microsoft/TypeScript/issues/247
หมายเหตุ: grunt-ts สามารถช่วยคุณสร้างการอ้างอิงเหล่านี้ได้: https://github.com/TypeStrong/grunt-ts#transforms
