原来用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