angular 2指令作为npm包
我有一个指令,我想在npm上发布。 我在这里阅读文档 ,之后是我所做的:
- 复制.ts文件编译的.js文件。 (我没有复制地图文件)
- 在桌面上制作新文件夹并将其粘贴到那里
-
npm init
和npm 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
你也可以看看这些资源:
- http://blog.angular-university.io/how-to-create-an-angular-2-library-and-how-to-consume-it-jspm-vs-webpack/
- http://myrighttocode.org/blog/typescript/angular2/components/npm/angular2-npm-components
- https://github.com/jvandemo/generator-angular2-library
- https://www.reddit.com/r/Angular2/comments/52vz2b/how_to_publish_component_as_library/
以防万一未来有人可能会在这里挣扎,这是我的大步。
- npm初始化文件夹,以便它有一个
package.json
并添加必要的devDependencies - 编译.ts到JS
- 告诉npm忽略
.npmignore
.ts文件:
node_modules npm-debug.log *.ts !*.d.ts
我希望我不会错过任何事情,无论如何,接受答案中的上述教程将有所帮助