javascript - webpack-dev-middleware的问题
阿神
阿神 2017-04-11 11:34:58
[JavaScript讨论组]

现在有一个express的项目。
准备使用webpack-dev-middleware和webpack-hot-middleware达到热更的目的
代码如下:
1:app.js

var webpack = require('webpack'),
      webpackDevMiddleware = require('webpack-dev-middleware'),
      webpackHotMiddleware = require('webpack-hot-middleware'),
      webpackDevConfig = require('./webpack.config.babel.js'),
      compiler = webpack(webpackDevConfig);

  //绑定compiler& the server

app.use(webpackDevMiddleware(compiler, {
  hot: true,
  publicPath: webpackDevConfig.output.publicPath,
  stats: {
    colors: true,
  },
}));
app.use(webpackHotMiddleware(compiler, {
  log: console.log,
  path: '/__webpack_hmr',
  heartbeat: 10 * 1000,
}));

2.webpack.config.babel.js:


var webpack = require('webpack');
var cheerio = require('cheerio');
var fs = require('fs');
var path = require('path');
var buildPath = path.resolve(__dirname,"public/dist/js");
var publicPath = path.resolve(__dirname,"public/dist");
var nodemodulesPath = path.resolve(__dirname,"node_modules");
const WebpackShellPlugin = require('webpack-shell-plugin');
var hotMiddlewareScript = 'webpack-hot-middleware/client?reload=true';
module.exports = {
    entry: {
        index : [hotMiddlewareScript,'./public/origin/js/entry.js'],
        login : [hotMiddlewareScript,'./public/origin/js/login.js']
    },
    resolve : {
        extentions : ['','js']
    },
    output: {
        path: buildPath,
        publicPath: publicPath,
        filename: '[name].js'
    },
    module: {
        loaders: [
            {test: /\.css$/, loader: "style!css"},
            {test: /\.js?$/, loader: 'babel',
            exclude: [nodemodulesPath],
            query: {presets: ['react', 'es2015']} }
        ]
    },
    plugins : [
        new webpack.optimize.OccurenceOrderPlugin(),
        new webpack.HotModuleReplacementPlugin(),
        new webpack.NoErrorsPlugin()
    ]
};

3.目录结构如下:

=========问题来了================
1.现在只要保存public/origin/js/entry.js文件。终端就会显示打包一次。(不科学其一,我并没有修改东西呀)
2.运行node app ->修改entry.js ->终端显示打包一次 ->页面无变化,手动刷新,结果没用变化。。

阿神
阿神

闭关修行中......

全部回复(0)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号