2016-12-15 3 views
0

Ich habe ein Ember Addon erstellt, das auf schluck abgeleitete Pakete zu bauen, so im Addon hat es das folgende in package.json.ember/npm Addon mit Abhängigkeiten/devDependencies

Wenn das Addon in der Hauptanwendung enthalten ist, schlägt der Build fehl, da die verschiedenen Schluckmodule fehlen. Das Addon befindet sich im Abschnitt devDependencies der Hauptanwendung.

Das Addon baut auch in die Hauptanwendung, wenn es in npm link ist. Meine Frage ist, wie die Addon-Abhängigkeiten behandelt werden sollten, damit die Hauptanwendung ohne eine lokale Kopie des Moduls erstellt wird?

Update: Ich denke, das Problem ist, dass das Paket einen Schluck Build nach dem Postinstall macht, die den Schluck devDependencies in echte Abhängigkeiten erhebt. Ist das richtig?

Addon JSON-Datei

{ 
    "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" 
    } 
} 

Antwort

0

Die Abhängigkeiten des Add-on benötigt Anwendung zu erstellen (das schließt Add-on), sollte in dependencies Abschnitt aufgeführt werden. Die devDependencies eines Pakets, das als Abhängigkeit eines anderen Pakets enthalten ist, werden ignoriert.

Es gibt eine andere Lösung zu add packages in einer Anwendung. Sie können ein blueprint in Ihrem Addon erstellen, das jedes Mal aufgerufen wird, wenn eine Anwendung damit erstellt oder installiert wird.