我通过创建一个自定义构建器来使用 Angular CLI Builder,该构建器在 angular.json
中扩展 Assets 配置,以防库拥有自己的 Assets 。我使用 nrwl
来管理工作区。
我创建了一个 Angular cli 构建器库并运行 npm link
。它创建一个 dist 文件夹。在使用该库的项目中,我运行npm link packagename
,但是当我运行npm run build
时,它显示在路径../src/command中找不到模块X
。我不明白为什么它查看 src
文件夹而不是 dist
文件夹?
我的 package.json 文件
{
"name": "packagename",
"version": "1.0.0",
"description": "",
"main": "src/index.js",
"builders": "builders.json",
"scripts": {
"build": "tsc"
},
"devDependencies": {
"@angular-devkit/architect": "^0.803.3",
"prettier": "1.18.2",
"ts-jest": "24.0.0",
"ts-node": "~7.0.0",
"tslint": "~5.11.0",
"typescript": "^3.4.5"
}
}
和 tsconfig.json 文件
{
"compilerOptions": {
"sourceMap": true,
"declaration": false,
"moduleResolution": "node",
"resolveJsonModule": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"allowSyntheticDefaultImports": true,
"baseUrl": ".",
"outDir": "dist",
"rootDir": "src",
"module": "commonjs",
"target": "es5",
"types": ["node"],
"lib": ["es2015", "es2017"]
},
"include": ["src/**/*.ts"],
"exclude": ["example/**/*.ts"]
}
你能帮我解决这个问题吗?
最佳答案
一切都按预期进行。当我有一个包时,我需要指向 angular.json 来使用我的构建器。问题是当它查看 builders.json
{
"builders": {
"browser": {
"implementation": "./dist/browser", --it was "./src/browser"
"schema": "../../../node_modules/@angular-devkit/build-angular/src/browser/schema.json",
"description": "Add assets and runs @angular-devkit/build-angular:browser"
}
}
}
这就是为什么它指向 src
文件夹而不是 dist
文件夹。
关于node.js - Npm 链接尝试在 src 文件夹而不是 dist 文件夹中查找模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58833801/