webpack编译出现奇怪错误:
ERROR in必须有一个要重构的源文件。
查看源代码,我在./node_modules/@ngtools/refactor.js
中找到了此消息:
...
if (!sourceFile) {
throw new Error('Must have a source file to refactor.');
}
@ngtools webpack插件的配置非常简单:
{
test: /\.ts$/,
use: '@ngtools/webpack',
}
答案 0 :(得分:2)
不要忘记在AngularCompilerPlugin
中添加mainPath
配置正确的webpack.config.js
。至少那是为我解决的问题。
plugins: [
/**
* Angular's webpack plugin to compile typescript and AOT for templates
**/
new ngTools.AngularCompilerPlugin({
tsConfigPath: path.join(CONTEXT_DIR, "tsconfig.json"),
mainPath: path.join(CONTEXT_DIR, "src/main.ts")
}),
...
]
答案 1 :(得分:2)
对于任何痛苦的人,试图找到解决方案;只需更改:
new AngularCompilerPlugin({
mainPath: 'src/main.ts',<----
tsConfigPath: 'src/tsconfig.app.json',
skipCodeGeneration: true
}),
..对此:
new AngularCompilerPlugin({
mainPath: 'main.ts',<----
tsConfigPath: 'src/tsconfig.app.json',
skipCodeGeneration: true
}),
答案 2 :(得分:0)
我在角度库上运行“ ng build --aot = true”时收到此错误。原因是在angular.json文件的构建配置中缺少文件。该项目是作为一个有角度的应用程序而不是一个库生成的。 angular.json中的build部分指向src / main.ts和src / style.css,但项目中没有此类文件。我添加了丢失的文件来解决此问题。另外,可以将配置更改为库项目。
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
"outputPath": "dist/ui-common",
"index": "src/index.html",
"main": "src/main.ts", //missing file