로 webworker을 노출하고, 우리는 내가 내려고 빙빙 돌고 있었어요 현재 require('worker-loader?inline!downloadTrackWorker')
웹팩이 내가 반응/REDUX 응용 프로그램에 대한 테스트를 작성하기 위해 노력하고있어
를 통해 수입 webworkers의 무리가 이 코드를 분리하는 방법을 알아내어 webworker를로드하는 데 문제가없는 node.js에서 테스트를 실행할 수 있습니다.
내가 한 가지 해결책은 내 웹팩에 웹 근로자를 전 세계에 노출시키는 것이고, 이는 내 테스트에서 스텁이나 모의를 정의 할 수 있음을 의미합니다. 내 웹팩 설정에서
, 내가 추가 한
module: {
loaders: [...],
rules: [{
test: require.resolve(APP_DIR + '/helpers/downloadTrackWorkerLoader'),
loader: 'expose-loader',
options: 'DownloadTrackWorker'
}]
}
내 trackWorkerLoader 내가 또한 inline
없이 위를 해봤 단순히
const DownloadTrackWorker = require('worker-loader?inline!./downloadTrackWorker.js');
module.export = DownloadTrackWorker;
이지만, 행운.
두 가지 문제가 있습니다.
- 내 콘솔
DownloadTrackWorker
을 찾아 내 업데이트 webpack.config와 정의되지 않은, 내가 웹팩이
ReactDOM.render( <Provider store={store}> <Player /> </Provider>, document.getElementById('root') );
may need appropriate loader
을 구문 분석 할 수없는 오류가 발생
내가 잘못하고있는 것에 대한 제안 사항이 있습니까? 내가 보는 이슈가 관련되어 있다는 생각이 들었다.
Webpack은 전역을 노출시키지 않습니다. 그래서 당신은 항상'DownloadTrackWorker'를 정의하지 않을 것입니다. 'importTrackWorker를 "path-to/trackWorkerLoader"에서 여러분이 사용하는 파일에 가져와야합니다. –
@ApoorvJoshi 나는 이것을 오해하고 있습니까? https://github.com/webpack-contrib/expose-loader 노출 로더를 사용하고 있습니다. 그것은 그것이 세계적인 범위에 추가된다고 말한다. 그러므로 나는 포함 할 필요가 없다. – pedalpete