webpack+webpack-dev-server 热更新问题

发布于 2022-09-04 20:35:04 字数 1939 浏览 16 评论 0

看了一些教程,最后做出来的是需要手动刷新页面更改才会生效。
我想要的是更改代码后保存就页面刷新,这个现在实现不出来。
已有代码
webpack.config.js

const path = require('path');
const webpack = require('webpack');

module.exports = {
  entry: ['./src/main.js'],
  output: {
    path: path.resolve(__dirname, './dist'),
    publicPath: './dist/',
    filename: 'build.js'
  },
  resolve: {
    alias: {vue: 'vue/dist/vue.js'}
  },
  module: {
    rules: [{
        test: /\.vue$/,
        loader: 'vue-loader'
      },
      {
        test: /\.css$/,
        loader: 'style-loader!css-loader'
      },
      {
        test: /\.less$/,
        loader: 'style-loader!css-loader!less-loader'
      },
      {
        test: /\.(png|jpg|gif|svg|eot|ttf|woff|woff2)$/,
        loader: 'url-loader',
        options: {
          limit: 10000
        }
      },
      {
        test: /\.js$/,
        loader: 'babel-loader',
        exclude: /node_modules/
      }
    ]
  }
}

package.json

{
  "name": "",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "webpack-dev-server --progress --colors --hot",
    "build": "webpack --display-error-details",
    "watch": "webpack --progress --colors --watch"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "babel-core": "^6.24.1",
    "babel-loader": "^6.4.1",
    "babel-preset-es2015": "^6.24.1",
    "css-loader": "^0.28.0",
    "file-loader": "^0.11.1",
    "less": "^2.7.2",
    "less-loader": "^4.0.3",
    "style-loader": "^0.16.1",
    "url-loader": "^0.5.8",
    "vue": "^2.2.6",
    "vue-loader": "^11.3.4",
    "vue-router": "^2.4.0",
    "vue-template-compiler": "^2.2.6",
    "webpack": "^2.4.1",
    "webpack-dev-server": "^2.4.2"
  }
}

现在是执行npm run start 监控不到改动。执行npm run watch,需要手动刷新浏览器。如何把webpack打包和webpack-dev-server结合到一起,实现保存就自动编译代码刷新浏览器?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

睡美人的小仙女 2022-09-11 20:35:04

我的解决方法是把 publicPath 路径换成绝对路径:

publicPath: 'http://127.0.0.1:8080/examples/build',
爱*していゐ 2022-09-11 20:35:04

publicPath: './dist', 前面的点去掉就可以了。感谢1楼notebin。

哆兒滾 2022-09-11 20:35:04

js引入路径为./dist/build.js
不需要监听生成文件。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文