2016-05-12 3 views
0

Как заставить webpack не разрешать инструкцию require в модуле узла?Как не решить проблему при использовании webpack

В следующем примере тестирования модулей я бы хотел, чтобы webpack разрешил require('./element.js'), но просто пропустил require('chai').

Как это можно сделать?

index.js:

'use strict'; 

const assert = require('chai').assert; 
const element = require('./element.js'); 

describe('element.create', function() { 
    jsdom(); 

    it('creates a div', function() { 
     var div = document.createElement(element.create()); 
     assert.strictEqual(div.nodeName, 'DIV'); 
    }); 
}); 

Run:

webpack index.js index-bundle.js 
mocha index-bundle.js 

ответ

1

Я думаю, что вы можете искать externals

из документации:

Externals: Укажите зависимости, которые не должны быть разрешены webpack, , но должны стать зависимостями полученного пакета. Тип зависит от output.libraryTarget.

1

Вы можете использовать require.ensure, чтобы загрузить его в асинхронном режиме, когда это необходимо. Это поможет вам загрузить require ('chai'), когда ваше конкретное состояние выполняется или не загружается.

require.ensure

В дополнении к этому, чтобы удалить требуется («Chai») от расслоения и разбит на отдельный комплект идет для поставщика пачки например:

entry: { 
    app: 'entry.js', 
    vendor: ['jquery', 'jquery.plugin1'] 
} 
Смежные вопросы