angular 2指令作为npm包

我有一个指令,我想在npm上发布。 我在这里阅读文档 ,之后是我所做的:

  • 复制.ts文件编译的.js文件。 (我没有复制地图文件)
  • 在桌面上制作新文件夹并将其粘贴到那里
  • npm initnpm publish
  • 创build新项目和npm install --save-dev我发布的包

但是,当我尝试在模块中声明它时,它找不到指令的名称

 @NgModule({ declarations: [ AppComponent, MyDirective //this is not found ], 

js文件虽然出现在模块文件夹中

import {...} from 'your-package-name/your-main-js';导入了import {...} from 'your-package-name/your-main-js'; 对的?

这里有一个很好的指南来为Angular2创buildnpm包。

https://medium.com/@OCombe/how-to-publish-a-library-for-angular-2-on-npm-5f48cdabf435#.coog6uf98

如果你想创build一个组件包,记得内联你的模板/样式! 否则你的应用程序将被打破..

或者你可以使用像这样的脚本https://github.com/ludohenin/gulp-inline-ng2-template内联这些模板/样式..

也许这个回购作为起点将有助于: https : //github.com/mxii/ng2-offclick

你也可以看看这些资源:

以防万一未来有人可能会在这里挣扎,这是我的大步。

  1. npm初始化文件夹,以便它有一个package.json并添加必要的devDependencies
  2. 编译.ts到JS
  3. 告诉npm忽略.npmignore .ts文件:
  node_modules npm-debug.log *.ts !*.d.ts 

我希望我不会错过任何事情,无论如何,接受答案中的上述教程将有所帮助