【问题标题】:Build ember-cli addon without dependencies构建没有依赖项的 ember-cli 插件
【发布时间】:2015-01-03 16:28:06
【问题描述】:

我开发了一个运行良好的 ember-cli 插件。

当我运行命令ember build 时,它基本上会创建一个vendor.js 文件,其中包含我的插件和所有依赖项(ember、jquery 等),大小约为 3MB

我想知道是否可以将插件作为自己的 (my-addon.js) 导出,内部没有任何依赖项,作为我可以使用的供应商?

我基本上是想让我的 ember-cli 插件成为一个凉亭组件,我可以将它包含在另一个 ember 项目中。 我的插件和所有依赖项都是超过 100MB 的数据(包括节点模块、花椰菜、测试......),所以当我使用 npm install my-addon 安装它时,它非常大。在我的其他项目中我真的不需要它,插件本身(dist 版本)大约有几个 KB,这就是我所需要的......

基本上,这是我项目的架构:

Ember 项目:

我的项目.git

/my-project
  /app
    /controllers etc...
  /node_modules
    /my-addon //My addon lives here for now and contains everything (all node_modules, bower_components, tests... about 100MB to download!)
  Brocfile.js etc..

ember-cli 插件的基本架构:

my-addon.git

/my-addon
  /addon
  /app
  /bower_components
  /node_modules
  /tests
  Brocfile.js etc..

package.json:

{
  "name": "my-addon",
  "version": "0.0.1",
  "directories": {
        "doc": "doc",
        "test": "tests"
  },
  "scripts": {
        "start": "ember server",
        "build": "ember build",
        "test": "ember test"
  },
  "engines": {
        "node": ">= 0.10.0"
  },
  "devDependencies": {
        "body-parser": "^1.2.0",
        "broccoli-sass": "0.3.2",
        "broccoli-asset-rev": "0.3.1",
        "broccoli-ember-hbs-template-compiler": "^1.6.1",
        "ember-cli": "0.1.2",
        "ember-cli-content-security-policy": "0.3.0",
        "ember-cli-ic-ajax": "0.1.1",
        "ember-cli-inject-live-reload": "^1.3.0",
        "ember-cli-qunit": "0.1.0",
        "ember-data": "1.0.0-beta.10",
        "ember-export-application-global": "^1.0.0",
        "express": "^4.8.5",
        "glob": "^4.0.5"
    }
    "keywords": [
        "ember-addon"
    ],

    "ember-addon": {
        "configPath": "tests/dummy/config"
    }
}

谢谢

【问题讨论】:

  • 你能告诉我们你插件仓库的方向吗
  • 我用项目的架构编辑了帖子。
  • 我对你的插件用于管理依赖等的 package.json 文件更感兴趣
  • 我添加了我的插件的 package.json 的样子。
  • 你能跳到 ember js IRC 频道或SO channel

标签: javascript node.js ember.js ember-cli


【解决方案1】:

那么,发生了什么?

我的回答是,您的本地存储库 - 应该包含它需要处理的所有垃圾等...但是您使用 bower 设置的最终代码应该是一个只有您的 /dist 的分支或或者——github repo 应该只有未构建的代码。然后...您bower install --save your-thing - 然后将在 ember 应用程序中注册。然后只需 bower installupdate 等 - 它会检查配置 - 并根据 package.jsonbower.json 拉入依赖项。

如果您记录您的发现并在此处回答此问题,那就太好了。我敢打赌,这是一个非常常见的工作流程。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多