使用 ng-packagr 它无法识别我的 tsconfig 路径

Posted

技术标签:

【中文标题】使用 ng-packagr 它无法识别我的 tsconfig 路径【英文标题】:Using ng-packagr it doesnt recognise my tsconfig paths 【发布时间】:2018-11-20 19:10:32 【问题描述】:

对我的 Angular 6 和 AngularCLI 应用程序使用 ng-packagr,但它无法识别我的 tsconfig 路径,而我进行了构建。正常的 ng build --aot --prod 工作正常。

这些是我的路径:

 "paths": 
    "@app/*": ["src/app/*"],
    "@env/*": ["src/environments/*"]
 

我的 tsconfig.json:


  "compileOnSave": true,
  "compilerOptions": 
    "baseUrl": "./",
    "outDir": "./dist/out-tsc",
    "sourceMap": true,
    "declaration": false,
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "noImplicitAny": false,
    "noImplicitReturns": true,
    "noUnusedLocals": true,
    "experimentalDecorators": true,
    "target": "es5",
    "typeRoots": [
      "node_modules/@types"
    ],
    "lib": [
      "es2017",
      "dom"
    ],
    "paths": 
      "@app/*": ["src/app/*"],
      "@env/*": ["src/environments/*"]
    
  

我得到的错误往往是找不到模块....例如因为它不知道@app 是什么。

该应用在投放时也能正常工作,例如npm 开始。

【问题讨论】:

FWIW,我的“app”目录在“src”中,所以我将paths指定为:"@app/environments/*": ["environments/*"] 【参考方案1】:

这已经是 ng-packagr 存储库中报告的问题,您可以将 tsconfig 配置复制到 ng-packagr 配置文件,因为 ng-packagr 不会从您的 tsconfig 读取,但它在 tgzing(构建)时具有其特定配置。

您可以在此处查看他们的 repo 线程中的问题:

https://github.com/dherges/ng-packagr/issues/519

【讨论】:

以上是关于使用 ng-packagr 它无法识别我的 tsconfig 路径的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Angular CLI + ng-packagr + state mgmt 构建 Angular 4 组件库?

tsc 时 webpack 无法捆绑文件

无法使用 tsc 节点模块编译打字稿

无法通过 npm 全局卸载 typescript

即使 tsc 成功解决它,也找不到 Typescript 模块

tsc : 无法将“tsc”项识别为 cmdlet函数脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。