webpack-dev-server 运行后,浏览器访问出错。

项目结构如下图
图片描述

webpack.config.js 文件内容

const path = require('path');
const webpack = require('webpack');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const { VueLoaderPlugin } = require('vue-loader');


module.exports  = {
    mode: "development",

    entry: {
        'assets/app': './src/main.js'
    },

    output: {
        path: path.resolve(__dirname, './dist'),
        filename: '[name].bundle.js',
    },

    devServer: {
        contentBase: path.join(__dirname, 'dist'),
        host: "localhost",
        port: 8080,
        publicPath: '/assets/',
        hot: true,
    },

    module: {
        rules: [
            {
                test: /\.vue$/,
                loader: 'vue-loader',
                options: {
                    localIdentName: '[name]-[local]-[hash:base64:5]',
                    cameCase: true
                }
            },
            {
                test: /\.js$/,
                loader: 'babel-loader'
            },
            {
                test: /\.css$/,
                loader: ['vue-style-loader', 'css-loader']
            }
        ]
    },
    plugins: [
        new HtmlWebpackPlugin({
            template: path.resolve(__dirname, 'index.html'),
            inject: true,
        }),
        new webpack.HotModuleReplacementPlugin(),
        new VueLoaderPlugin(),
    ],
    resolve: {
        alias: {
            vue: 'vue/dist/vue.js'
        }
    }
}

package.json 文件
图片描述

执行 npm run dev 命令后
图片描述

打开浏览器提示如下错误:
图片描述

执行 npm run build 命令后,
图片描述

打开浏览器
图片描述

可以正常访问,查了一大片的资料,就是不知道哪里出问题了, webpack-dev-server 运行的HTTP服务器,死活就是有问题。请各位大神帮我看看到底是哪里的问题?

阅读 2.7k
2 个回答

报那个错就是路径不对,我看你这里是不是少个./
contentBase: path.join(__dirname, './dist')

傻逼了,devServer.publicPath: '/' 修改为默认值正常了。一直没搞明白这个属性的意思,是URL的访问路径。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题