ค้นหาเว็บไซต์

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