Я использую webpack
в моем проекте.Когда пакет Javascript стал большим, я решил разделить код с помощью react-loadable
динамического импорта, например
...
import Loadable from 'react-loadable';
const LoadablePage = Loadable({
loader: () => import('./page'),
loading: Loading,
});
class Main extends Component {
render () {
return (<LoadablePage/>);
}
}
Когда я открываю страницу http://my_domain.com
, браузер успешно загружает index.js
из http://localhost:8080/build/test/index.js
,Затем попробуйте загрузить 0.js
чанк из http://my_domain.com/build/0.js
.
Но 0.js
не существует в расположении http://my_domain.com/build/0.js
, его можно успешно загрузить из http://localhost:8080/build/0.js
.
Как правильно указать домен для фрагментов загрузки при разработке?
Webpack config
module.exports = {
entry: {
'test/index': [ 'babel-polyfill', './resources/assets/modules/test/index', ],
},
output: {
path: path.resolve(__dirname, './public/build/'),
publicPath: '/build/',
filename: '[name].js',
chunkFilename: '[name].js',
},
...
devServer: {
contentBase: './build/',
proxy: [{
path: '/',
target: 'http://localhost',
port: 8080,
}],
},
...
}
Шаблон страницы
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, shrink-to-fit=no"/>
<link rel="stylesheet" href="http://localhost:8080/build/test/index.css"/>
</head>
<body>
<div id="root"></div>
<script src="http://localhost:8080/build/test/index.js"></script>
</body>
</html>