在我的打字稿專案中,我需要在匯入時添加 *.js 擴展名,否則專案將構建但在瀏覽器中運行時會失敗,因為它找不到檔案。
這是我的打字稿匯入的樣子:
import {MainApp} from './MainApp.js';
window.onload = () => {
var app = new MainApp(5);
app.doSomething();
};
從我讀到的內容(例如,在 Typescript 編譯(ES6 模塊)期間在相對匯入陳述句上附加 .js 擴展名),對于 typescript來說,我不能這樣做似乎是一件正常的事情: import {MainApp} from './MainApp.js';
但問題是在 Angular 中使用打字稿我可以做到這一點:
import {MainApp} from './MainApp';
那么,Angular 是如何做到的呢?有沒有一種方法可以在我的非角度純打字稿專案中復制該行為?
uj5u.com熱心網友回復:
因為 angular cli 首先將您的所有源檔案編譯為較少的瀏覽器檔案。來自多個檔案的所有代碼都位于一個 .js 檔案中。在編譯時,編譯器會找到 MainApp 相關檔案并將其放入輸出檔案中。
而大多數情況下,打字稿編譯器只是洗掉了 TS 部分并保留了 TS 部分。否則它不會觸及檔案。瀏覽器然后在運行時請求所有源 .js 檔案。
如果您不想關心匯入時的檔案結尾,您將需要一個打包器。有很多不同的,比如 webpack、rollup、parcel 等等。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/392335.html
標籤:javascript 有角的 打字稿
