我正在尝试使用一个指令创建npm库,并在npm链接的帮助下在本地测试它。
但问题是,当我在声明数组中包含我的指令时,我收到此错误:
意外的价值' MyDirective'由模块' AppModule'
声明
我的图书馆结构:
的package.json
{
"name": "my-directive",
"main": "./dist/index.js",
"typings": "dist/index.d.ts"
}
我的src文件夹:
index.ts
export * from "./myDirective";
myDirective.ts
import {Directive} from '@angular/core';
@Directive({
selector: "my-directive"
})
export class MyDirective {
constructor() {
console.log('directive works!');
}
}
现在在我的Angular 2应用程序中,我链接了这个npm包:
import { MyDirective } from "my-directive";
// This line indeed log the constructor function...
console.log(MyDirective);
// function MyDirective() {
// console.log('directive works!');
// }
@NgModule({
declarations: [
AppComponent,
MyDirective
]
})
我错过了什么?
答案 0 :(得分:0)
这里有类似问题的讨论和公关: https://github.com/angular/angular-cli/pull/2291
看看这可能会有所帮助。
答案 1 :(得分:0)
我遇到了这个问题并且我不确切知道原因,但是在 package.json 文件中,从依赖项字段中删除了Angular 2依赖项,devDependencies解决了这个问题和我的npm模块工作
你应该试一试。