node.js - Npm 链接尝试在 src 文件夹而不是 dist 文件夹中查找模块
问题描述
我通过创建一个自定义构建器来使用 Angular CLI Builder,该构建器扩展了资产配置,angular.json
以防库拥有自己的资产。我用于nrwl
管理工作区。
我创建了一个 Angular cli 构建器库并运行npm link
. 它创建一个 dist 文件夹。在使用该库的项目中,我运行npm link packagename
但当我运行时npm run build
,它说Can not find module X in path ../src/command
. 我不明白为什么它查看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 - 无法连接到 MongoDB 并出现错误 UnhandledPromiseRejectionWarning
- ffmpeg - FFMPEG 延迟多个叠加视频(具有不同的延迟)
- google-apps-script - 如何在 Google Apps 脚本中使用服务帐户验证 Google 表格
- mysql - MySQL 错误代码 1215:“无法添加外键约束”
- c# - 带有BackgroundService的QueueClient无法正常工作.NetCore2.2
- xml - 每次发布知识库后从 QnA Maker 中删除 XML 格式文本
- javascript - Redux Mock Store 给出 'Actions must be plain objects。使用自定义中间件进行异步操作。
- css - 如何在 ionic 中覆盖 app.scss 以外的 CSS 类?
- postgresql - 错误:无法加载库 ~/orafce.so:~/orafce.so:未定义符号:pq_sendbyte SQL 状态:XX000
- spring-boot - java - 如何在运行时在java类中选择spring选项参数