【问题标题】:Publish Aurelia component on NPM?在 NPM 上发布 Aurelia 组件?
【发布时间】:2018-01-09 13:33:23
【问题描述】:

我们使用 Aurelia 构建了一个小型应用程序,并希望能够将该应用程序集成到更大的代码库中。例如,可能希望在 NPM 上发布 Aurelia 应用程序,以便其他项目可以集成我们的代码。

我们如何构建/发布 Aurelia 应用程序,以便在更大的 JavaScript 应用程序中对其进行实例化?

【问题讨论】:

    标签: javascript node.js npm package aurelia


    【解决方案1】:

    通常,您不会将整个 Aurelia 应用程序发布到 NPM,而是将插件推送到 NPM。

    学习如何做到这一点的最简单方法是遵循各种 Aurelia 存储库的示例。我们将代码构建成多种格式,但最重要的是 AMD 和 CommonJS(这对贵公司更重要取决于贵公司使用的工具)。构建代码后,下一步是确保您的 package.json 文件设置正确。最好复制我们在自己的仓库中所做的示例。

    我将从查看对话框插件或templating-resources 插件开始。这两个都展示了如何将 Aurelia 插件发布到 NPM 的很好的示例,无论它是公共的还是私有的 npm 提要。

    https://github.com/aurelia/dialog/blob/master/package.json https://github.com/aurelia/templating-resources/blob/master/package.json

    这两个插件都设置为支持开箱即用的 Webpack、JSPM/SystemJS 和 Aurelia CLI。

    【讨论】:

      【解决方案2】:

      我完全同意 @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

      【讨论】:

        猜你喜欢
        • 2018-01-02
        • 2018-05-25
        • 1970-01-01
        • 2021-09-26
        • 2018-06-19
        • 2020-03-19
        • 2017-06-25
        • 2017-09-11
        • 2017-02-03
        相关资源
        最近更新 更多