我们使用Aurelia构建了一个小型应用程序,并希望能够将应用程序集成到更大的代码库中。例如,可能需要在NPM上发布Aurelia应用程序,以便其他项目可以集成我们的代码。
我们如何构建/发布Aurelia应用程序,以便可以在更大的JavaScript应用程序中进行实例化?
答案 0 :(得分:0)
通常,您不会将整个Aurelia应用程序发布到NPM,而是将插件推送到NPM。
学习如何做到这一点的最简单方法是遵循各种Aurelia回购的例子。我们将代码构建为多种格式,但最重要的是AMD和CommonJS(对您的公司来说更重要的是取决于您的公司使用的工具)。构建代码后,下一步是确保正确设置package.json
文件。最好复制我们在自己的回购中所做的事情的例子。
我首先要查看对话框插件或templating-resources
插件。这两个都展示了如何将Aurelia插件发布到NPM的很好的例子,无论是公共还是私有的npm feed。
https://github.com/aurelia/dialog/blob/master/package.json https://github.com/aurelia/templating-resources/blob/master/package.json
这两个插件都设置为支持Webpack,JSPM / SystemJS和开箱即用的Aurelia CLI。
答案 1 :(得分:0)
我完全同意@Ashley不向全球NPM注册管理机构发布更大的应用程序。它的一大优点是可以用来构建大型应用程序的所有小包的简单性。
如果您觉得自己有一些可重复使用的代码,请放入自己的软件包并发布。
无论如何,为了给你一个不需要你发布完整应用程序的答案:你可以通过NPM在不同的应用程序中包含一个完整的存储库(这可能是你所看到的)。
npm install git://github.com/somegit/hubrepo.git
或直接通过package.json
:
"dependencies": {
"private-repo": "git+ssh://git@github.com:somegit/hubrepo.git#v1.0.0",
}
您也可以做类似的事情,例如:使用JSPM。这很简单:
jspm install your-app=github:OrgOrUser/your-app@your-branch
如果您现在在导入中遇到长相对路径,根据您的工具,您可能会对某些内容感兴趣,例如: Resolving require paths with webpack,其中显示了如何为相对路径设置别名。
<强>源头/链接:强>
How to install a private NPM module without my own registry?
npm install private github repositories by dependency in package.json