It turns out that there is no problem using ts-loader, but it needs to be paired with angular2-template-loader. I had no choice but to switch back to awesome-typescript-loader, and an error was reported. Please help me take a look. If you have any questions, just tell me. I will wait online.
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.
The following is my tsconfig.json file
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"sourceMap": true,
"experimentalDecorators": true
// "outDir": ""
},
"buildOnSave": false,
"compileOnSave": false,
"exclude": [
"node_modules"
],
"awesomeTypescriptLoaderOptions": {
"useWebpackText": true
}
}
Here is my webpack configuration file:
/**
* 开发环境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'
}
]
}
}
Reason:
awesome-typescript-loader The latest 2.x version is only compatible with typescript 2.x version (the current official version is only 1.8).
Solution:
Option 1: Upgrade typescript to preview version
Option 2: Use the 1.x version of awesome-typescript-loader
The solution has been found. You need to update typescript to the latest version.
Reference:
https://github.com/s-panferov/awesome-typescript-loader/issues/179