首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >指定"resolveJsonModule":运行ng-packagr时为true

指定"resolveJsonModule":运行ng-packagr时为true
EN

Stack Overflow用户
提问于 2020-06-03 05:26:44
回答 1查看 553关注 0票数 0

版本号从

代码语言:javascript
复制
import { version } from '../../../package.json';

对于本地和Azure DevOps管道构建,我们使用ng-packagr。

对于我的本地构建,我可以将resolveJsonModule添加到: node_modules\ng-packagr\lib\ts\conf\tsconfig.ngc.json:

代码语言:javascript
复制
"compilerOptions": {
    ...    
    "resolveJsonModule": true,
},

管道构建确实会让npm install fresh清除Azure cloud build服务器上node_modules中的所有条目。因此,我不能像修改本地构建那样在云构建服务器上修改tsconfig.ngc.json。

Azure管道构建步骤:

代码语言:javascript
复制
"packagr": "ng-packagr -p ng-package.json"

ng-package.json内容:

代码语言:javascript
复制
{
  "$schema": "./node_modules/ng-packagr/ng-package.schema.json",
  "lib": {
    "entryFile": "public-api.ts"
  },
  "dest": "...",
  "whitelistedNonPeerDependencies": ["angular", "bootstrap", "font-awesome", "gojs", "wait-on", "jquery", "rxjs", "tslib", "uuid", "zone.js", "ngx-toastr", "watch", "onchange", "lodash", "hammerjs"]
}

1)“你需要做的就是修改库文件夹下的tsconfig.lib.json。”

https://github.com/ng-packagr/ng-packagr/blob/HEAD/docs/override-tsconfig.md

我尝试在我自己的目录结构下添加tsconfig.lib.json,然后将tsconfig.lib.json添加到我的angular.json中;但是没有发现更改。不确定github文档是否意味着添加/修改node_modules\ng- tsconfig.lib.json下的包...;如果是这样的话:

a)我找不到tsconfig.lib.json

b)即使我可以找到tsconfig.lib.json,这个建议仍然涉及修改node_modules\目录下的内容,这在每次管道构建时都会被清除。

2) https://github.com/ng-packagr/ng-packagr/blob/HEAD/docs/configuration-locations.md

https://github.com/ng-packagr/ng-packagr/blob/master/src/ng-package.schema.json

3)“您需要使用-c通过命令行提供一个tsconfig。”

https://github.com/ng-packagr/ng-packagr/issues/1131

我预料到了这个错误:

考虑使用'--resolveJsonModule‘导入带有'.json’扩展名的模块

在-c tsconfig.app.json中不显示

代码语言:javascript
复制
ng-packagr -p ng-package.json -c tsconfig.app.json

并在没有-c tsconfig.app.json的情况下显示。如果不对tsconfig.ngc.json进行更改,我甚至无法在本地重现错误。

4)我也读过:

Embed json in ng-packagr

https://github.com/ng-packagr/ng-packagr/issues/1050

How do I use my tsconfig file with ng-packagr?

Include json file in ng-packagr build

但我找不到足够的相关信息来解决我的特定问题。

谢谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2021-02-11 20:19:55

您需要将配置文件传递到构建步骤:

代码语言:javascript
复制
"packagr": "ng-packagr -p ng-package.json --config tsconfig.lib.json"

tsconfig.lib.json扩展了默认配置并添加了编译器选项:

代码语言:javascript
复制
{
   "extends": "./node_modules/ng-packagr/lib/ts/conf/tsconfig.ngc.json",
   "compilerOptions": {
      "resolveJsonModule": true,
      "esModuleInterop": true,
   }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62161673

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档