2017-04-07 3 views
0

없이 JS 파일을 내보내는 방법에 내가 JS의 다음과 같습니다 파일이 내 webpack.config에서웹팩 : 모듈

self.MonacoEnvironment = { 
    baseUrl: CDN_HOST + '/javascripts' 
}; 
importScripts('/javascripts/vs/base/worker/workerMain.js'); 

을, 나는 CDN_HOST 정의가 :

new webpack.DefinePlugin({ 
    'CDN_HOST': JSON.stringify(process.env.CDN_HOST || '') 
}), 
enter code here 

내가 좋아하는 것 이 파일을 내보내려면 CDN_HOST 값을 여기에 입력해야하지만이 파일을 모듈 (예 : "webpackjsonP")에 넣지 마십시오.

file-loader을 사용하면 모듈 정의가있는 파일을 복사하지만 CDN_HOST은 대체하지 않습니다.

babel-loader을 사용하는 경우 CDN_HOST을 대체하지만 모듈 정의를 추가합니다.

DefinePlugin을 어떻게 사용할 수 있습니까?

답변

0

DefinePlugin을 사용하지 않고이 작업을 처리했습니다. 대신, string-replace-loader으로 연결 한 file-loader을 사용했습니다. string-replace-loader은 내 목적으로는 DefinePlugin과 거의 같습니다.

loaders: [ 
    "file-loader?name=./filetoexport.js", 
    { 
     loader: "string-replace-loader", 
     query: { 

     search: 'CDN_HOST', 
     replace: JSON.stringify(process.env.CDN_HOST || '') 
     } 
    }, 
    ]