2016-04-17 2 views
1

Я пытаюсь написать библиотеку с помощью webpack. Я использую разделение кода с require.ensure в моем основном файле. Проблема в том, что он попытается разрешить все куски из базового url. Можно ли сделать это относительно точки входа?Разделение кода Webpack, относительный URL

Например, я добавляю свою точку входа в

<script src="node_modules/mylib/index.js"> 

Когда этот файл делает require.ensure('./dep.js') он будет пытаться загрузить /dep.js вместо node_modules/mylib/dep.js.

Я сделал обходной путь, манипулируя тегом <base>, но это действительно уродливый хак. Я чувствую, что должно быть более «webpacky» решение.

+1

Можете ли вы попробовать https://webpack.github.io/docs/configuration.html#output-publicpath? –

+0

Он работает! Пожалуйста, сделайте ответ, я сделаю его принятым. Мне нужна эта опция: '__webpack_public_path__' – Martynas

+0

Приятно слышать. Добавлен ответ. Надеюсь, это достаточно ясно. –

ответ

2

Ключ находится в publicPath связанных настройках. Он может быть установлен динамически во время выполнения, используя вид объявления __webpack_public_path__ = window.resourceBaseUrl;.

+0

Итак, что вы предлагаете здесь, это установить эту «resourceBaseUrl» глобальную переменную со стороны сервера, чтобы ее можно было использовать в вашем пакете webpack? – elQueFaltaba

+0

Правильно. Вы можете управлять им через сервер. –

+0

Обратите внимание, что URL-адрес требует завершающего слэша .. о, мой ... – haffla

Смежные вопросы