2017-12-21 4 views
2

패턴 랩 edition-node-gulp을 설정했으며 NPM을 사용하여 jQuery, D3 및 기타와 같은 UI 종속성을 관리하려고합니다. Pattern Lab은 'Source'폴더에서 개발이 이루어 지도록 설정되어 있으며 'Source'폴더는이를 준수하여 'Public'폴더로 이동됩니다. Public 폴더의 루트는 서비스 될 때 응용 프로그램의 루트가됩니다.두 번째 package.json이있는 패턴 랩

현재 저는 jQuery 등의 자산을 수동으로 포함합니다. Pattern Lab 노드를 모두 실행하는 데 사용되는 package.json 파일에서 jQuery와 같은 종속성을 관리하는 것이 좋겠지 만 node_modules 폴더는 Public 외부에 있으므로 실제 응용 프로그램에서 node_modules 폴더를 참조 할 수 없습니다.

  1. 가 그대로 계속하고, 이러한 자산에 대한 패키지 관리를 잊지 :

    지금까지, 내가 두 가지 옵션이 보인다.
  2. 두 번째 package.json을 jQuery 및 기타와 함께 Public 내에서 만듭니다.

두 번째 package.json을 작성하는 것이 좋지 않습니까? 다른 옵션을 고려하지 않습니까?

답변

0

두 번째 package.json을 만드는 것이 그렇게 어렵지 않습니다 (물론 무엇을 어떻게하는지 알고있을 때). 그러나 특별한 경우에는 더 좋은 옵션이 있기 때문에 가장 좋은 시나리오는 아닙니다.

무엇이 문제입니까? 빌드 출력에 에셋 추가하기. 그래서, 당신이 할 수있는 일 :

  1. npm install를 통해 자산을 설치하고 출력 디렉토리에있는 파일을 복사 할 gulpfile.js 적응 원래 package.json
  2. 에 저장합니다.

    "scripts": { 
        "gulp": "gulp -- ", 
        "build": "npm run gulp && cp -R node_modules/jquery/dist/blablabla.js mypublicdir/blablabla.js" 
    }, 
    

    을 다음 npm run build로 실행 : 두 번째 단계 단계가 단순 package.json scripts 변화와 대체 될 수 문제/너무 해키 경우

(build 스크립트를 추가). Windows를 지원해야하는 경우 cp 대신 https://www.npmjs.com/package/cp-cli을 사용할 수 있습니다.

+0

답장을 보내 주셔서 감사합니다. 우리는 옵션 2에서 제안한 것과 같이 node_modules 폴더를 공용 디렉토리에 복사하기로 결정했습니다. 복사를 수행하기 위해 package.json에 스크립트를 추가했습니다. Patternlab은 많은 의존성을 가지고 있기 때문에 처음부터 복사하는 데 시간이 걸리지 만 제 팀원들과 저는 이것이 가장 단순한 경로이며 혼란을 야기하지 않을 것이라고 결정했습니다. –