使用webpack4打包文件后,访问页面,并没有加载任何组件也没有报错,求大神指点
没有使用,HtmlWebpackPlugin插件生成index.html,index页面放在后台,访问后台路径时,返回index页面,现在是使用devServer后台已经能访问到 main.bundle.js和vendor.bundle.js文件,不报错,但是路由中的组件并没有嵌入到 指定div中
相关代码
这是我的webpack配置:
const path = require('path');
var webpack = require('webpack');
var merge = require('webpack-merge');
var theme = require('./theme.config.js')
const HtmlWebpackPlugin = require('html-webpack-plugin')
var autoprefixer = require('autoprefixer');
var theme = require("./theme.config.js");
var hostIP = "10.6.249.160";
var port = 3000;
module.exports = {
target:"web",
mode: "development",
entry: {
main: ['babel-polyfill', './src/main.jsx'],
vendor: ['redux', 'react-redux', 'react-router', 'react-router-redux', 'redux-thunk']
},
output: {
filename: '[name].bundle.js',
path: path.resolve(__dirname, 'lib'),
publicPath:"http://" + hostIP + ":" + port + "/lib",
chunkFilename: '[name].[chunkhash:8].chunk.js'
},
externals: {
react: 'React',
'react-dom': 'ReactDOM',
immutable: 'Immutable'
},
module: {
rules: [
{
test: /\.(js|jsx)$/,
include: [
path.resolve(__dirname, "src")
],
use:['babel-loader']
},
{
test: /\.(png|svg|jpg|gif)$/,
include: [
path.resolve(__dirname, "src")
],
use:[{
loader: 'url-loader',
options: {
limit: 8192
}
}]
},
{
test: /\.(woff|svg|eot|ttf)\??.*$/,
include: [
path.resolve(__dirname, "src")
],
use:[{
loader: 'url-loader',
options: {
name: 'fonts/[name].[md5:hash:hex:7].[ext]'
}
}]
},
{
test: /\.(css|less)$/,
use:[{
loader: "style-loader"
}, {
loader: "css-loader"
}, {
loader: "postcss-loader",
options: {
sourceMap: true,
config: {
path: 'postcss.config.js' // 这个得在项目根目录创建此文件
}
}
}, {
loader: `less-loader?{"sourceMap":true,"modifyVars":${JSON.stringify(theme)}}`
}]
},
{
test: /\.json$/,
include: [
path.resolve(__dirname, "src")
],
use:['json-loader']
},
]
},
resolve: {
extensions: [ ".js", ".jsx"],
alias: {
components: path.resolve(__dirname, 'src/components') ,
reducers: path.resolve(__dirname, 'src/reducers'),
store: path.resolve(__dirname, 'src/store'),
routes: path.resolve(__dirname, 'src/routes'),
assets: path.resolve(__dirname, 'src/assets'),
utils: path.resolve(__dirname, 'src/utils'),
api: path.resolve(__dirname, 'src/api')
},
},
devtool: "cheap-module-eval-source-map",
devServer: {
headers: {
"Access-Control-Allow-Origin": "*"
},
host:'10.6.249.160',
contentBase: './', //本地服务器所加载的页面所在的目录
//historyApiFallback: true, //不跳转
inline: true, //实时刷新
hot: true,
port: 3000,
// proxy: {
// '/api/*': {
// target:'http://localhost:8007',
// secure: false, // 接受 运行在 https 上的服务
// changeOrigin: true
// }
// }
},
optimization: {
splitChunks: {
cacheGroups: {
commons: {
test: /[\\/]node_modules[\\/]/,
name: "vendors",
chunks: "all"
}
}
}
},
plugins: [
new webpack.HotModuleReplacementPlugin(),
new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery',
react:'react'
})
]
}
以下是console控制台截图:也是放在后台index.html文件内容