我在導入語句中運行browserify時出現錯誤。我可以在沒有它的情況下捆綁它,但然後我得到類型錯誤。我有幾個文件導入類型,但是,當我嘗試運行browserify時,我得到導入Typescript @types導致browserify出錯
錯誤:無法從'/ Users/lonniemcgill/Desktop/Projects/Typescript/ssadmin/development/assets中找到模塊'chart.js'/TS /視圖
我tsconfig看起來是這樣的:
{
"files": [
"ts/main.ts"
],
"compileOnSave": true,
"compilerOptions": {
"noImplicitAny": true,
"target": "es5",
"moduleResolution": "node",
"typeRoots": ["./node_modules/@types"],
"types": ["jquery", "chart.js"],
"sourceMap": true
}
}
和我的進口看起來像這樣:
import * as Chart from "chart.js";
Visual Studio代碼識別出它是一個類型,因爲INTE llisence不給我任何錯誤。沒有導入它會工作,但我得到一堆類型的錯誤。我如何才能將browserify與包含的導入語句捆綁在一起?
這是我的這個任務的代碼。
gulp.task('browserify', function() {
return browserify({
basedir: '.',
debug: true,
entries: ['ts/main.ts'],
cache: {},
packageCache: {}
})
.plugin(tsify)
.transform(babelify, {
presets: ['es2015'],
extensions: ['.ts', '.js']
})
.bundle()
.pipe(source('bundle.js'))
.pipe(buffer())
.pipe(sourcemaps.init({ loadMaps: true }))
.pipe(uglify())
.pipe(sourcemaps.write('./'))
.pipe(gulp.dest("js/compiled"));
});
您是否正在通過腳本標記加載chart.js?將它作爲一個模塊加載(首選),或者創建一個'declare global'類型的填充。可能還有一些Browserify具體的方式來映射它。 –
我已將所有的bower組件編譯成vendor.js文件並將其加載到腳本標記中。 –
那麼這就是爲什麼 –