我开发了一个工作正常的ember-cli插件。
当我运行命令ember build
时,它基本上创建了一个vendor.js
文件,其中包含我的插件和所有依赖项(ember,jquery等...),大约3MB
我想知道是否可以将插件作为自己的插件导出(my-addon.js
)而不需要任何依赖,作为我可以使用的供应商?
我基本上试图让我的ember-cli插件成为我可以包含在另一个ember项目中的bower组件。 我的插件和所有依赖项都超过100MB的数据(包括节点模块,西兰花,测试...),所以当我使用npm install my-addon安装它时,它非常大。我真的不需要在我的其他项目中,插件本身(dist版本)大约是几KB,这就是我所需要的......
基本上,这是我项目的架构:
Ember项目:
MY-project.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"
}
}
由于
答案 0 :(得分:0)
那么,发生了什么?
我的答案是,你的本地回购 - 应该有它需要处理的所有垃圾等......但你用凉亭设置的最终代码应该是一个只有你的/ dist的分支或者某事或 - github repo应该只有未构建的代码。然后......你bower install --save your-thing
- 然后会在ember app中注册。然后只需bower install
或update
等 - 它会检查配置 - 并根据package.json
和bower.json
拉入依赖关系。
如果你记录了你的发现并在这里回答了这个问题,那就太好了。我敢打赌,这是一个非常常见的工作流程。