Webpack编译但webpack-dev-server没有相同的配置

时间:2016-03-15 14:01:40

标签: javascript webpack vue.js

我开始学习webpack并尝试使用webpack-dev-server进行编译和浏览器重新加载。

当我运行命令时,我遇到了一个问题:

webpack

我的文件编译正常,但是当我使用命令时:

# I removed the "--hot" and "--inline" to try to isolate where the problem 
# was coming from.

webpack-dev-server --config webpack.config.js

命令终端中的输出看起来很好,但实际上没有编译:

Gif showing the difference

问题是,webpack-dev-server 成功提供public目录中的文件,以便该部分正常工作,它只是不编译javascript和vue文件。 / p>

这是我的webpack.config.js

module.exports = {
    entry: './src/index.js',
    output: {
        path: __dirname + '/public',
        publicPath: '/public',
        filename: 'bundle.js'
    },
    devtool: 'source-map',
    devServer:{
        contentBase: __dirname + '/public'
    },
    module:{
        loaders:[
            { test: /\.vue$/, loader: 'vue'}
        ]
    }
};

我一直在关注描述这个过程的vue-loader start tutorial,我没有看到任何错误。

我知道我指定的内容目录与教程不同,但据我所知,这不会影响文件的编译。

我在这里缺少什么?

1 个答案:

答案 0 :(得分:4)

这是因为Webpack-dev-server从内存而不是磁盘提供文件。 文档中的确切引用https://webpack.github.io/docs/webpack-dev-server.html

  

此修改后的包在相对路径的内存中提供   在publicPath中指定(请参阅API)。它不会写入你的   配置输出目录。捆绑已经存在的地方   url路径内存中的bundle优先(默认情况下)。