2015-01-10 7 views
8

내 JS 모듈의 폴더 구조가 있습니다. 페이지 당 하나의 모듈을 원합니다. 이것은 단일 페이지 앱이 아닙니다.webpack으로 여러 폴더를 출력하려면 어떻게해야합니까?

어떻게 파일을 폴더 구조로 출력 할 수 있습니까?

내가 볼 수있는 유일한 결과는 [name].js입니다. 이름을 매우 고유하게 만들면이 작업이 가능하거나 폴더 구분 기호에 이름이 -이 될 수 있습니다. 즉, a/b/c.jsa-b-c으로 변환됩니다. 나는 정말로 이것을 좋아하지 않는다. 나는 require("a/b/c")이되고 싶습니다.

require은 모듈 외부에서 사용할 수 없기 때문에 하나의 묶음 파일을 사용할 수 없습니다. 그럴 경우 모든 페이지에 하나의 번들 및 require("a/b/c")을 만들 수 있습니다.

내가 인터넷에서 찾을 수없는 좋은 방법이 있다면 알려 주시기 바랍니다.

r.js를 사용하여 require.js로 쉽게 할 수있는 것처럼 보이지만 require.js를 사용하고 싶지 않고 CommonJS 모듈을 원합니다.

+0

나는 이와 비슷한 것을하고 있지만 꽤 똑같은 것은 아닙니다. 내'webpack.config.js' 파일에서 나는 여러 npm' 스크립트를 실행할 때 설정 한 NODE_ENV 환경 변수에 따라 여러 가지 다른 설정을 만들었습니다. 예를 들어, 내'package.json'에는'set NODE_ENV = development && webpack "을 실행하는'build-dev' 스크립트가 있습니다. 희망이 당신에게 몇 가지 아이디어를 제공합니다! – Ganonside

답변

1

[이름]을 사용하여 새 폴더를 만들 수도 있습니다. 이처럼 :

output: { 
    path: path.join(__dirname, 'public'), 
    filename: '[name].js' 
}, 

이 설정은 public/main-plugin/js 폴더를 생성하고 것 같은

entry: { 
    "main-plugin/js/background":"./src/main-plugin/background" 
} 

그리고 output을 :

output: { 
    path: __dirname, 
    filename: '[name]/[name].js', 
    chunkFilename: '[name].js', 
    publicPath: '/assets/' 
}, 
10

는이 같은 슬래시를 사용하여 진입 점을 정의 할 수 있습니다 background.js을 입력하십시오. 적어도 Win7x64에서 작동합니다.

관련 문제