原來用ts-loader是沒問題的,但是需要搭配angular2-template-loader,無奈換回awesome-typescript-loader,就報錯了,請大家幫忙看下,有事兒直接說就行,在線等。
ERROR in [default] /Users/honpery/personal_project/honpery_com/admin_rewrite/node_modules/rxjs/add/observable/bindCallback.d.ts:2:15
Invalid module name in augmentation, module '../../Observable' cannot be found.
ERROR in [default] /Users/honpery/personal_project/honpery_com/admin_rewrite/node_modules/rxjs/add/observable/bindNodeCallback.d.ts:2:15
Invalid module name in augmentation, module '../../Observable' cannot be found.
ERROR in [default] /Users/honpery/personal_project/honpery_com/admin_rewrite/node_modules/rxjs/add/observable/combineLatest.d.ts:2:15
Invalid module name in augmentation, module '../../Observable' cannot be found.
ERROR in [default] /Users/honpery/personal_project/honpery_com/admin_rewrite/node_modules/rxjs/add/observable/concat.d.ts:2:15
Invalid module name in augmentation, module '../../Observable' cannot be found.
ERROR in [default] /Users/honpery/personal_project/honpery_com/admin_rewrite/node_modules/rxjs/add/observable/defer.d.ts:2:15
Invalid module name in augmentation, module '../../Observable' cannot be found.
ERROR in [default] /Users/honpery/personal_project/honpery_com/admin_rewrite/node_modules/rxjs/add/observable/dom/ajax.d.ts:2:15
Invalid module name in augmentation, module '../../../Observable' cannot be found.
ERROR in [default] /Users/honpery/personal_project/honpery_com/admin_rewrite/node_modules/rxjs/add/observable/dom/webSocket.d.ts:2:15
Invalid module name in augmentation, module '../../../Observable' cannot be found.
ERROR in [default] /Users/honpery/personal_project/honpery_com/admin_rewrite/node_modules/rxjs/add/observable/empty.d.ts:2:15
Invalid module name in augmentation, module '../../Observable' cannot be found.
ERROR in [default] /Users/honpery/personal_project/honpery_com/admin_rewrite/node_modules/rxjs/add/observable/forkJoin.d.ts:2:15
Invalid module name in augmentation, module '../../Observable' cannot be found.
ERROR in [default] /Users/honpery/personal_project/honpery_com/admin_rewrite/node_modules/rxjs/add/observable/from.d.ts:2:15
Invalid module name in augmentation, module '../../Observable' cannot be found.
ERROR in [default] /Users/honpery/personal_project/honpery_com/admin_rewrite/node_modules/rxjs/add/observable/fromEvent.d.ts:2:15
Invalid module name in augmentation, module '../../Observable' cannot be found.
ERROR in [default] /Users/honpery/personal_project/honpery_com/admin_rewrite/node_modules/rxjs/add/observable/fromEventPattern.d.ts:2:15
Invalid module name in augmentation, module '../../Observable' cannot be found.
ERROR in [default] /Users/honpery/personal_project/honpery_com/admin_rewrite/node_modules/rxjs/add/observable/fromPromise.d.ts:2:15
Invalid module name in augmentation, module '../../Observable' cannot be found.
下面是我的tsconfig.json檔案
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"sourceMap": true,
"experimentalDecorators": true
// "outDir": ""
},
"buildOnSave": false,
"compileOnSave": false,
"exclude": [
"node_modules"
],
"awesomeTypescriptLoaderOptions": {
"useWebpackText": true
}
}
下面是我的webpack設定檔:
/**
* 开发环境webpack配置
*/
const path = require('path');
module.exports = {
entry: {
app: './src/main.ts',
},
output: {
path: path.join(__dirname, 'build'),
filename: '[name].bundle.js'
},
resolve: {
extensions: ['', '.ts', '.js', '.json']
},
module: {
loaders: [
{
test: /\.ts$/,
loaders: ['awesome-typescript-loader', 'angular2-template-loader'],
exclude: /(node_modules | libs)/
},
{
test: /.less$/,
loader: 'less',
exclude: /(node_modules | libs)/
},
{
test: /.html$/,
loader: 'raw-loader'
}
]
}
}
原因:
awesome-typescript-loader 最新的2.x的版本,只相容於 typescript 2.x的版本(目前正式版只到1.8)。
解決方法:
方案一: 升級 typescript 到預覽版
方案二: 使用awesome-typescript-loader 的1.x的版本
已經找到解決方案,需要更新下typescript到最新版本即可。
參考:
https://github.com/s-panferov/awesome-typescript-loader/issues/179