2016-12-15 1 views
0

빌드 할 꿀꺽 파생 패키지에 의존하는 ember 애드온을 만들었으므로 addon에서는 package.json에 다음과 같이 표시됩니다.종속성/devDependencies가있는 ember/npm addon

주 응용 프로그램에 애드온이 포함되면 다양한 꿀꺽 꿀꺽 모듈이 없어 빌드가 실패합니다. addon은 주 응용 프로그램의 devDependencies 섹션에 있습니다.

또한 추가 응용 프로그램은 npm link을 통해 주 응용 프로그램에 빌드됩니다. 내 질문에 어떻게 addon 종속성을 처리해야합니다 그래서 메인 응용 프로그램 모듈의 로컬 복사본없이 빌드 할?

업데이트 : 제가 생각하기에 패키지는 꿀꺽 꿀꺽한 devDependencies를 실제 종속성으로 높이는 postinstall 이후에 꿀꺽 마땅한 빌드를한다는 것입니다. 이 올바른지?

부가 기능의 의존성 (즉 부가 포함) 응용 프로그램을 빌드하는 데 필요한

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

답변

0

부가 기능 JSON 파일은 dependencies 섹션에 나열해야합니다. 다른 패키지의 종속성으로 포함 된 패키지의 devDependencies은 무시됩니다.

add packages에 대한 다른 해결책은 애플리케이션에 있습니다. 애드온에 blueprint을 만들면 응용 프로그램을 빌드하거나 설치할 때마다 호출됩니다.