错误:运行ng-packagr时找不到模块'@ angular / compiler-cli / src / perform_compile'

时间:2018-07-02 18:48:07

标签: angular npm ng-packagr

我有一个新安装的Windows,我正在尝试首次运行ng-packagr。

我遇到了错误:

Error: Cannot find module '@angular/compiler-cli/src/perform_compile'
    at Function.Module._resolveFilename (module.js:547:15)
    at Function.Module._load (module.js:474:25)
    at Module.require (module.js:596:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (C:\Users\MyUser\AppData\Roaming\npm\node_modules\ng-packagr\lib\ts\tsconfig.js:3:12)
    at Module._compile (module.js:652:30)
    at Object.Module._extensions..js (module.js:663:10)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)
    at Function.Module._load (module.js:497:3)

我确实通过运行来安装了角度CLI

npm install -g @angular/cli@latest

它正在运行v6.0.8

我的ng-package.json:

{
    "$schema": "./node_modules/ng-packagr/ng-package.schema.json",
    "lib": {
        "entryFile": "index.ts",
        "externals": {
            "moment": "moment"
        }
    }
}

我在这里想念什么?

1 个答案:

答案 0 :(得分:0)

嘿,最近解决了类似的问题,您可以尝试以下操作:

第一步:安装最新的node.js(卸载以前的版本)

Step2:全局安装最新的angular-cli

npm uninstall -g angular-cli npm cache clean or npm cache verify (if npm > 5) npm install -g @angular/cli@latest

Step3:使用angular-cli创建一个新项目

ng new projectname

Step4:将文件(模块,组件,指令等)从旧文件复制到新创建的项目中

第5步:安装ng-packagr

npm i ng-packagr

Step6:编辑您的package.json(根项目)

"scripts": {
    "packagr": "ng-packagr -p ng-package.json"
 }
  • 由于要创建功能模块,因此删除依赖项或全部移至peerDependencies

Step7:ng-package.json(您的情况可能有所不同,但是您可以尝试使用此方法)

{
  "$schema": "./node_modules/ng-packagr/ng-package.schema.json",
  "lib": {
    "entryFile": "public_api.ts"
  }
}

步骤8:public_api.ts(更新模块的相对路径)

export * from './src/app/modules/yourmodulename/yourmodulename.module

就是这样,现在您可以运行npm run packagr,它应该可以工作并生成dist文件夹。

您可以使用npm publish dist

在npmjs上发布

这就是我解决的方法,希望对您有所帮助。

谢谢