index.ts不是编译输出的一部分

时间:2017-11-08 16:22:35

标签: angular compiler-errors compilation

我正在尝试编译我的Angular应用程序并收到错误。 似乎是编译器没有识别index.ts文件。我不确定为什么。

以下是错误:

ERROR in ./node_modules/datatable/index.ts
Module build failed: Error: node_modules\datatable\index.ts is not part of the compilation output. Please check the other error messages for details.
    at AngularCompilerPlugin.getCompiledFile (node_modules\@ngtools\webpack\src\angular_compiler_plugin.js:629:23)
    at plugin.done.then (node_modules\@ngtools\webpack\src\loader.js:467:39)
    at process._tickCallback (internal/process/next_tick.js:103:7)
 @ ./src/main/ui/app/app.module.ts 13:0-59
 @ ./src/main.ts
 @ multi webpack-dev-server/client?http://0.0.0.0:0 ./src/main.ts
ERROR in ./node_modules/typeahead/index.ts
Module build failed: Error: node_modules\typeahead\index.ts is not part of the compilation output. Please check the other error messages for details.
    at AngularCompilerPlugin.getCompiledFile (\node_modules\@ngtools\webpack\src\angular_compiler_plugin.js:629:23)
    at plugin.done.then (node_modules\@ngtools\webpack\src\loader.js:467:39)
    at process._tickCallback (internal/process/next_tick.js:103:7)
 @ ./src/main/ui/app/app.module.ts 12:0-59
 @ ./src/main.ts
 @ multi webpack-dev-server/client?http://0.0.0.0:0 ./src/main.ts

有没有人对如何解决此问题有任何建议? 谢谢。

5 个答案:

答案 0 :(得分:5)

我在 angular-bootstrap-md \ index.ts

中遇到了类似的问题
  

我如何解决它:

     

只需将 index.ts 文件放入 tsconfig.jsons include block ,   见下文:

{
  "compileOnSave": false,
  "compilerOptions": {
  "outDir": "./dist/out-tsc",
  "sourceMap": true,
  "declaration": false,
  "moduleResolution": "node",
  "emitDecoratorMetadata": true,
  "experimentalDecorators": true,
  "target": "es5",
  "typeRoots": [
    "node_modules/@types"
  ],
  "lib": [
    "es2017",
    "dom"
  ]  
},
"include": [
  "src/**/*",
  "node_modules/angular-bootstrap-md/index.ts"
  ]
 }
     

来源:https://github.com/angular/angular/issues/20091

答案 1 :(得分:1)

这是简单的修复 - 运行以下内容: npm install --save @ ngtools / webpack @ 1.2.4

答案 2 :(得分:1)

首先要澄清为什么会发生这种情况。如果发布的模块具有typescript文件,编译器将尝试加载那些而不是预期编译的javascript文件。

这显然是发布过程中的一个错误,因为唯一的ts文件应该是定义文件(*.d.ts)。

如果这些(typeahead和datatable)是您的包,请检查您的.npmignore文件。除.d.ts之外的每个.ts文件都应该被忽略。如果他们不属于您,请非常友好地向创作者/所有者报告。

答案 3 :(得分:0)

当应用程序目录位于%users%\ Documents目录下时,我遇到了类似的问题。将整个目录复制到另一个路径(例如C:\ Data \ Angular)后,错误消失了。

答案 4 :(得分:0)

我也收到了此消息,对我来说,原因很简单。我有这行:

......Heading.......
....................
...Name:.John.Doe...
...PIN:.......123...
....................   <--- This should be replaced with a single blank line
....................
...Date:.02/03/2019.

大写D是原因,将其更改为小写即可解决问题。