node.js - webpack熱加載很慢
問(wèn)題描述
用webpack的熱加載文件在剛開始沒(méi)幾個(gè)的時(shí)候就快,但是加多了幾個(gè)文件就變的很慢的,隨便改一個(gè)字都要6、7秒才能更新到這是怎么回事?這是我的啟動(dòng)dev-server
var path = require(’path’);var fs = require(’fs’);var express = require(’express’);var webpack = require(’webpack’);var routes = require(’./router/index’);var config = require(’./config’);var http = require(’http’);var bodyParser = require(’body-parser’);var compression = require(’compression’);var consolidate = require(’consolidate’);var webpackConfig = require(’./webpack.dev.conf’);//端口var port = process.env.PORT || config.dev.port;var app = express();//bodyparser 這個(gè)設(shè)置要放路由前原因:(http://blog.csdn.net/u013438638/article/details/48953143)app.use(bodyParser.json());app.use(bodyParser.urlencoded({ extended: true }));app.engine(’html’, consolidate.ejs);app.set(’views’, path.resolve(__dirname, ’views’));app.set(’view engine’,’html’);app.use(compression()); //開啟 gzip//webpack編譯器var compiler = webpack(webpackConfig);//webpack-dev-server 中間件var devMiddleware = require(’webpack-dev-middleware’)(compiler, { publicPath: webpackConfig.output.publicPath, stats: {colors: true,chunks: false }});//熱更新中間件var hotMiddleware = require(’webpack-hot-middleware’)(compiler);app.use(devMiddleware);app.use(hotMiddleware);//具體路由actionroutes(app);
webpack.dev.conf
var path = require(’path’);var merge = require(’webpack-merge’);var webpack = require(’webpack’);var utils = require(’./utils’);var HtmlWebpackPlugin = require(’html-webpack-plugin’);var webpackConfig = { entry: {page: [’webpack-hot-middleware/client?noInfo=true&reload=true’, ’../resources/app/index.js’] }, devtool: ’source-map’, output: {path: path.resolve(__dirname, ’./public’),publicPath: ’/’,filename: ’[name].js’ }, module: {rules: [ {test:/.vue$/, loader: ’vue-loader’}, {test:/.html$/,loader: 'html?attrs=img:src img:src'}, {test:/.css$/,use: [’style-loader’,{ loader: ’css-loader’}] }, {test: /.scss$/,use: [ ’style-loader’, ’css-loader?sourceMap’, ’resolve-url-loader’, ’sass-loader?sourceMap’] }, {test:/.(woff|woff2|ttf|eot|svg)(?v=[0-9].[0-9].[0-9])?$/,loader: ’file-loader?name=./fonts/[name].[ext]’}, {test:/.(png|jpe?g|gif|svg|webp)(?.*)?$/,loader: ’url-loader?limit=10000&name=./images/[name].[ext]’}, {test:/.js$/, exclude: /(node_modules|lib)/, loader: ’babel-loader’}] }, plugins: [new webpack.optimize.OccurrenceOrderPlugin(),new webpack.HotModuleReplacementPlugin(),new webpack.NoEmitOnErrorsPlugin(),new webpack.DefinePlugin({ ’process.env’: { NODE_ENV: ’'production'’ }}),new webpack.optimize.UglifyJsPlugin({ compress: { warnings: false }}) ], devServer: {inline: true }}module.exports = webpackConfig;
webpack.config.js
'url-loader': '^0.5.8', 'vue-hot-reload-api': '^2.0.11', 'vue-html-loader': '^1.2.4', 'vue-loader': '^11.3.4', 'vue-style-loader': '^2.0.5', 'vue-template-compiler': '^2.2.6', 'webpack': '^2.3.3', 'webpack-dev-middleware': '^1.10.1', 'webpack-dev-server': '^2.4.2', 'webpack-hot-middleware': '^2.18.0',
問(wèn)題解答
回答1:樓主的問(wèn)題之前遇到過(guò),是因?yàn)閎abel-loader編譯了第三方類庫(kù)導(dǎo)致的,我看了樓主已經(jīng)exclude了,建議樓主用下 webpack-bundle-analyzer,生成分析圖看下是不是編譯了哪些不需要便衣隊(duì)第三方的庫(kù)
回答2:webpack.optimize.UglifyJsPlugin 開發(fā)階段不需要壓縮
相關(guān)文章:
1. java - 阿里的開發(fā)手冊(cè)中為什么禁用map來(lái)作為查詢的接受類?2. apache - 想把之前寫的單機(jī)版 windows 軟件改成網(wǎng)絡(luò)版,讓每個(gè)用戶可以注冊(cè)并登錄。類似 qq 的登陸,怎么架設(shè)服務(wù)器呢?3. 創(chuàng)建mysqli對(duì)象與數(shù)據(jù)庫(kù)連接 - 出錯(cuò)4. 用Html5怎么實(shí)現(xiàn)簡(jiǎn)單選擇排序?5. node.js - win7下,npm 無(wú)法下載依賴包,淘寶鏡像也裝不上,求幫忙???6. mysql 的datadir設(shè)置的文件夾不存在,啟動(dòng)了mysql服務(wù)后創(chuàng)建的數(shù)據(jù)庫(kù)存在哪里?7. mysql 使用group_concat后 順序改變是怎么回事?8. python - uwsgi+django的搭建問(wèn)題9. php多任務(wù)倒計(jì)時(shí)求助10. 如何合并兩張具有相同結(jié)構(gòu)的mysql表
