带依赖的ember/npm插件/ devDependencies
问题描述:
我已经创建了一个依赖gulp派生包来构建的ember插件,所以在插件中,它在package.json中有以下内容。带依赖的ember/npm插件/ devDependencies
当插件被包含在主应用程序中时,由于缺少各种gulp模块,构建失败。插件位于主应用程序的devDependencies部分。
当插件通过npm link
时,该插件也会构建到主应用程序中。我的问题是应该如何处理插件依赖性,以便主应用程序无需本地副本就可以构建?
更新:我认为问题在于,包在安装后将gulp devDependencies提升为真正的依赖关系。它是否正确?
附加组件JSON文件
{
"name": "My Addon",
"version": "0.0.0",
"description": "The default blueprint for ember-cli addons.",
"directories": {
"doc": "doc",
"test": "tests"
},
"scripts": {
"build": "ember build",
"start": "ember server",
"test": "ember try:each",
"postinstall": "gulp build && bower install"
},
"repository": {
"type": "git",
"url": "git://github.com/myaddon.git"
},
"engines": {
"node": ">= 0.12.0"
},
"author": "",
"license": "MIT",
"devDependencies": {
"bootstrap": "^4.0.0-alpha.5",
"broccoli-asset-rev": "^2.4.5",
"broccoli-funnel": "^1.0.9",
"ember-ajax": "^2.4.1",
// more ember modules
"find-root": "^0.1.1",
"font-awesome": "^4.7.0",
"glob": "^4.5.3",
"gulp": "^3.9.1",
"gulp-clean-css": "^2.2.1",
"gulp-concat": "^2.6.0",
"gulp-connect": "^2.2.0",
"gulp-filter": "^3.0.1",
"gulp-git": "^1.4.0",
"gulp-rename": "^1.2.2",
"gulp-sass": "^2.3.2",
"gulp-sourcemaps": "^1.5.2",
"gulp-task-loader": "^1.2.1",
"gulp-template": "^3.0.0",
"gulp-uglify": "^1.2.0",
"gulp-zip": "^3.0.2",
"lazypipe": "^1.0.1",
"loader.js": "^4.0.10",
"run-sequence": "^1.1.2"
},
"keywords": [
"ember-addon"
],
"dependencies": {
"ember-cli-babel": "^5.1.7"
},
"ember-addon": {
"configPath": "tests/dummy/config"
}
}
答
的附加的依赖关系来构建应用程序(即包括附加组件)所需的,应该在dependencies
部分中列出。作为另一个包的依赖项包含的包的devDependencies
被忽略。
还有其他解决方案将add packages整合到应用程序中。您可以在您的插件中创建一个blueprint,该插件将在每次构建应用程序或安装应用程序时调用。