5

webpack编译的奇怪错误:

必须有要重构的源文件中的错误。

查看源代码,我在以下位置找到了此消息./node_modules/@ngtools/refactor.js

...   
if (!sourceFile) {
  throw new Error('Must have a source file to refactor.');
}

@ngtools webpack 插件的配置非常简单:

  {
    test: /\.ts$/,
    use: '@ngtools/webpack',
  } 
4

3 回答 3

3

不要AngularCompilerPlugin忘记mainPathwebpack.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")
  }),
...
]
于 2018-05-21T15:54:27.567 回答
3

对于任何痛苦的人,试图找到这个解决方案;只是改变:

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
    }),
于 2018-09-13T19:32:36.337 回答
0

在角度库上运行“ng build --aot=true”时收到此错误。原因是 angular.json 文件中的构建配置中缺少文件。该项目是作为一个角度应用程序而不是一个库生成的。angular.json 中的构建部分指向 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
于 2020-01-30T16:53:20.767 回答