自从我开始编写两个npm软件包以来,我收到了这个错误,但我无法找到解决此问题的方法。每次运行服务时,我都会出现此错误,然后如果我只是添加一个空格字符并按Ctrl + S一个文件(运行Angular-CLI编译)它就会消失!如何解决这个问题?
错误:
ERROR in Error遇到静态解析符号值。调用 function' makeDecorator',不支持函数调用。考虑 使用对导出的引用替换函数或lambda 功能,解析符号NgModule in D:/GitHub/angular-npm/ngx-heyl-modal/demo/node_modules/ngx-heyl-snackbar/node_modules/@angular/core/src/metadata/ng_module.d.ts,解析符号NgModule in d:/GitHub/angular-npm/ngx-heyl-modal/demo/node_modules/ngx-heyl-snackbar/node_modules/@angular/core/src/metadata.d.ts, 解决符号NgModule in d:/GitHub/angular-npm/ngx-heyl-modal/demo/node_modules/ngx-heyl-snackbar/node_modules/@angular/core/src/core.d.ts, 解决符号NgModule in d:/GitHub/angular-npm/ngx-heyl-modal/demo/node_modules/ngx-heyl-snackbar/node_modules/@angular/core/index.d.ts, 解决符号SnackbarModule in d:/GitHub/angular-npm/ngx-heyl-modal/demo/node_modules/ngx-heyl-snackbar/index.ts, 解决符号SnackbarModule in d:/GitHub/angular-npm/ngx-heyl-modal/demo/node_modules/ngx-heyl-snackbar/index.ts
我的包裹:(我在Git上的所有资源)
https://www.npmjs.com/package/ngx-heyl-modal
https://www.npmjs.com/package/ngx-heyl-snackbar
编辑:
我尝试使用npm链接和一个简单的项目:空服务,空组件(只是html文件中的div,没有输入任何功能),这个问题仍然存在。我认为这是因为NgModule,也许我写错了怎么办?还是我的package.json?
答案 0 :(得分:2)
您不应在包裹中发送node_modules
文件夹。
您必须记住,您正在为Angular项目编写库。由于项目本身必须将Angular核心作为依赖项,因此库不应在其生成的包中包含Angular源。为此,您需要在package.json文件中设置对等依赖项。
{
...
"peerDependencies": {
"@angular/common": "^4.0.0",
"@angular/core": "^4.0.0"
}
...
}
创建AOT兼容角度库的简单方法就是运行ngc
,但我建议您关注Angular 4 package format
这是我的测试库https://www.npmjs.com/package/@zuz/lib(source,package.json中的peerDependencies)
请参阅这些链接以获取可能的解决方案