2013-07-19 2 views
0
my file tree 
|- root 
|-- gruntfile.js 
|-- package.json 
|-- lib (jQuery & other) 
|-- webapp 
|---- App-1 
|------- src(app src) 
|---------- js 
|---------- css 
|---------- images 
|------- package.json(use to require other modules) 
|---- App-2 
|------- src(app src) 
|---------- js 
|---------- css 
|---------- images 
|------- package.json(use to require other modules) 
... ... 
|---- App-n 

내 파일 시스템에서 대부분의 응용 프로그램은 동일한 "task"를 사용합니다. "App"파일마다 gruntfile을 작성하는 것은 쉽지 않습니다. "root"에 gruntfile을 어떻게 사용하고 "App"파일에 사용할 수 있습니까?루트 파일에서 gruntjs 사용

감사합니다 ~ :)

답변

0

모든 응용 프로그램이 정확하게 일치하려고하지 않는 한, 각 응용 프로그램에 대한 새로운 gruntfile를 사용합니다. 예상대로 각각의 응용 프로그램 내에서 src 폴더를 복제 했으므로 각각의 응용 프로그램이 모두 다를 것이라고 추측합니다.

글로벌 종속성 설정은 권장하지 않습니다. 시간이 지남에 따라 각 앱이 갈라지며 앱의 양이 늘어납니다. root/lib 폴더에서 jQuery 또는 다른 종속성을 업그레이드 할 때가되면 ... 은 모든 단일 응용 프로그램을 업그레이드해야합니다.

작은 편의는 지금은별로 가치가 없습니다.

대신 로컬에 모든 항목을 설치하면 필요에 따라 다른 앱을 손상시키지 않고 각 앱을 업그레이드 할 수 있습니다. 앱에 중복 된 코드가있는 경우 해당 코드를 모듈로 옮기는 것을 고려해보십시오. 다른 앱처럼 모듈을 만든 다음 npm link을 입력하여 설치 가능하게 만듭니다. 그런 다음 각 응용 프로그램에서 node_modules/mymodule 폴더에 모듈을 설치하려면 npm link mymodule을 수행하십시오. 다음은 예제 파일 트리입니다.

my file tree 
|- root 
|-- devmodules 
|---- mymodule 
|------ index.js 
|------ package.json 
|-- webapps 
|---- App-1 
|------- src(app src) 
|---------- js 
|---------- css 
|---------- images 
|------- node_modules (jQuery & other) 
|------- Gruntfile.js 
|------- package.json(use to require other modules) 
|---- App-2 
|------- src(app src) 
|---------- js 
|---------- css 
|---------- images 
|------- node_modules (jQuery & other) 
|------- Gruntfile.js 
|------- package.json(use to require other modules) 
... ... 
|---- App-n