我正在尝试将组件库集成到angular2/webpack/typescript项目中。
该库已经转译为 javascript,但是当它被加载时,看起来 webpack 正在寻找 .ts 文件。这是我正在使用的 webpack 配置:
module.exports = {
......
entry: {
'polyfills': './src/polyfills.ts',
'vendor': './src/vendor.ts',
'main': './src/main.ts'
},
resolve: {
extensions: ['', '.ts', '.js']
},
.....
module: {
preLoaders: [
{test: /.js$/, loader: 'source-map-loader', exclude: [helpers.root('node_modules/rxjs')]}
],
loaders: [
{test: /.ts$/, loader: 'awesome-typescript-loader', exclude: [/.(spec|e2e).ts$/]} ,
{test: /.json$/, loader: 'json-loader'},
{test: /.css$/, loader: 'raw-loader'},
{test: /.html$/, loader: 'raw-loader', exclude: [helpers.root('src/index.html')]}
]
},
plugins: [
new ForkCheckerPlugin(),
new webpack.optimize.OccurenceOrderPlugin(true),
new webpack.optimize.CommonsChunkPlugin({name: ['main', 'vendor', 'polyfills'], minChunks: Infinity}),
new CopyWebpackPlugin([{from: 'src/assets', to: 'assets'}]),
new HtmlWebpackPlugin({template: 'src/index.html', chunksSortMode: 'none'}),
new webpack.DefinePlugin({'ENV': JSON.stringify(METADATA.ENV), 'HMR': HMR})
]
};
我正在 webpack 开发服务器中运行该应用程序。以下是错误消息:
./~/primeng/components/selectbutton/selectbutton.js
Cannot find source file 'selectbutton.ts': Error: Cannot resolve 'file' or 'directory' ./selectbutton.ts in C:data14-03angular2-webpack-starternode_modulesprimengcomponentsselectbutton
我能够通过更新 webpack 配置以从 primeng 中排除源映射来解决此错误:
module.exports = {
....
module: {
preLoaders: [
...
{
test: /.js$/,
loader: 'source-map-loader',
exclude: [
helpers.root('node_modules/primeng')
]
}
]
...
}
...
};