2016-06-01 3 views
2

Я пишу одностраничное приложение на данный момент и используя webpack.Webpack Hot Module Reload указать другой путь к пакету

Теперь я хочу начать использовать модуль замены Hot Module, потому что он выглядит удобно.

У меня возникла проблема. Кажется, вы не можете указать, где вы хотите файл bundle.js.

В моем файле index.html, я загрузить сценарий bundle.js с следующим

<script type="text/javascript" src="/static/assets/script/app.bundle.js"></script> 

После сборки завершена, можно затем развернуть приложение на сервере и все в порядке.

Однако, когда я использую плагин для замены Hot Module, app.bundle.js находится в корне приложения. Таким образом, следующие работы

<script type="text/javascript" src="/app.bundle.js"></script> 

Для моей конфигурации производства, без ГМР, у меня есть следующие:

// production 

entry: [ 
    './src/project/scripts/entry.js' 
], 

output: { 
    path: path.join(__dirname, '/public/static/assets/script'), 
    filename: 'app.bundle.js', 
}, 

И для разработчика с ГМР, У меня есть следующие

entry: [ 
    './src/project/scripts/entry.js', 
    'webpack/hot/dev-server', 
    'webpack-dev-server/client?http://localhost:8080/' 
], 

output: { 
    path: path.join(__dirname, '/public/static/assets/script'), 
    filename: 'app.bundle.js' 
}, 

Конечно , когда я запускаю dev, он не может найти app.bundle.js, потому что путь указывает на «/static/assets/script/app.bundle.js» в index.html.

Есть ли способ указать, где app.bundle.js будет для плагина HMR?

ответ

0

Оказывается, есть способ. Добавьте путь к bundle.js в файле:

output: { 
    path: __dirname + '/public', 
    filename: 'static/assets/script/app.bundle.js' 
} 
Смежные вопросы