node.js - Npm 链接尝试在 src 文件夹而不是 dist 文件夹中查找模块

标签 node.js angular npm

我通过创建一个自定义构建器来使用 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/

相关文章:

npm - 未找到 Webpack 命令

javascript - 将数组与数组的数组组合

node.js - 无法获取/资源/卡片

Node.js - 如何从数组中检索值?

json - 在 Angular 6 中迭代 JSON 对象

javascript - Angular 将多个文件更改为内联模板

javascript - 在 Browserify 和 NPM 中需要根路径(在这两个地方都去掉 '../../../..')

javascript - 如何使用后端 Node JS 服务器的 sendmail 从 Webix 应用程序发送电子邮件

angular - 如何控制打开多个对话框

angular - 如何为旧的 Angular 项目提供服务?