2016-01-16 14 views
7

Làm thế nào tôi có thể làm cho webpack bỏ qua lần xuất hiện củaLàm thế nào tôi có thể làm cho webpack bỏ một yêu cầu

require('shelljs/global'); 

trong các tập tin nguồn của tôi? Tôi muốn thực hiện một bó các tập tin nguồn của tôi nhưng giữ require('shelljs/global') trong các tập tin và không bó shelljs/toàn cầu.

Cảm ơn bạn trước

Thomas

+0

Đã sửa trường hợp của tôi bằng cách sử dụng đích: 'node', https://webpack.github.io/docs/configuration. html –

Trả lời

13

Bạn có thể sử dụng Ignore Plugin.

Add plugin trong webpack.config.js:

plugins: [ 
    new webpack.IgnorePlugin(/shelljs\/global/), 
], 
11

Nếu bạn lưu trữ các đường dẫn trong một biến sau đó IgnorePlugin sẽ không hoạt động. Mặc dù bạn vẫn có thể làm:

const myCustomModule = eval('require')(myCustomPath) 
6

cho những người mới đến, trên webpack 2 cách để làm điều này là như vậy:

module.exports = { 
    entry: __dirname + '/src/app', 
    output: { 
     path: __dirname + '/dist', 
     libraryTarget: 'umd' 
    }, 
    externals: { 
     'shelljs/globals': 'commonjs shelljs/global' 
    } 
}; 

bó sẽ chứa một nguyên văn yêu cầu:

require('shelljs/global'); 

đọc trên các định dạng được hỗ trợ khác on webpack's config guide và một số ví dụ tốt here

1

Nếu require nằm trong không gian tên chung và đây là lý do tại sao bạn muốn Webpack bỏ qua nó, chỉ cần window.require()

Các vấn đề liên quan