博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用 Webpack 打造 vue - todo 应用实践( 五 )
阅读量:5930 次
发布时间:2019-06-19

本文共 2674 字,大约阅读时间需要 8 分钟。

最后做了一些优化,比如css分离出来、hash优化。

// 分离css的插件npm inatall mini-css-extract-plugin --save
// webpack.config.jsconst path = require('path')const isDev = process.env.NODE_ENV === 'development'const htmlWebpackPlugin = require('html-webpack-plugin')const webpack = require('webpack')const MiniCssExtractPlugin = require("mini-css-extract-plugin");const config = {  mode: 'development',  target: 'web',  entry: path.join(__dirname, 'src/index.js'),  output: {    filename: 'js/build.[hash:8].js',    path: path.join(__dirname, 'dist')  },  module: {    rules: [      {        test: /\.vue$/,        loader: 'vue-loader'      },      {        test: /\.jsx$/,        loader: 'babel-loader'      },      {        test: /\.css$/,        use: [          'style-loader',          'css-loader'        ]      },      {        test: /\.(png|jpg|gif|svg|jpeg)$/,        use: [          {            loader: 'url-loader',            options: {              limit: 30000,              name: 'images/[name]-[hash].[ext]'            }          }        ]      }    ]  },  plugins:[    new htmlWebpackPlugin(),    new webpack.DefinePlugin({      'process.env': {        NODE_ENV: isDev ? '"development"' : '"production"'       }    }),    new MiniCssExtractPlugin({      // Options similar to the same options in webpackOptions.output      // both options are optional      filename: "[name].css",      chunkFilename: "[id].css"    })  ]}if (isDev) {  config.module.rules.push(    {      test: /\.styl$/,      use: [        MiniCssExtractPlugin.loader,        'css-loader',        {          loader: 'postcss-loader',          options: {            sourceMap: true          }        },        'stylus-loader'      ]    }  );  config.devServer = {    port: 8000,    host: 'localhost',    overlay: {      error: true    },    open: true,    hot: true  }    config.plugins.push(    // 这些插件的作用是,热跟新模式下,如果修改了代码,那么试图会无刷新重新渲染    new webpack.HotModuleReplacementPlugin(),    new webpack.NoEmitOnErrorsPlugin()  )} else {  config.output.filename = 'js/[name].[chunkhash:8].js';  config.module.rules.push(    {      test: /\.styl$/,      use: [        MiniCssExtractPlugin.loader,        'css-loader',        {          loader: 'postcss-loader',          options: {            sourceMap: true          }        },        'stylus-loader'      ]    }  )  config.plugins.push(    new MiniCssExtractPlugin({      filename: "[name].css",      chunkFilename: "[id].css"    })  )}module.exports = config;

其实还可以是把vue的模块内容提取出来。但是老师所讲的那个插件目前被取代了,所以需要用别的来代替。

打包一下
npm run build
// dist下结构-images    - background-image-d0476aabbdb449a4fa8b30d5a2744dd0.jpg- js    - main.c3052569.js- index.html- main.css
这个小项目,到目前是基本完成了~~

截图

图片描述

转载地址:http://vsutx.baihongyu.com/

你可能感兴趣的文章
latch: row cache objects等待事件
查看>>
狙击波病毒
查看>>
inux启动流程 转载wanglm5102017-01-04 13:59
查看>>
Saltstack (grains、pillar、jinja模版、haproy+keeplived)
查看>>
Oracle10g 闪回数据库 (Flashback Database)
查看>>
fastreport4清除以前的数据,连续打印
查看>>
Linux下系统诊断shell命令fuser
查看>>
C语言中 位运算总结
查看>>
狱警在死刑监区的21年:曾拉回临刑喊冤的嫌犯
查看>>
NVDIMM原理与应用之一:基本原理
查看>>
View is not applicable for the arguments 解决方案
查看>>
nagios+nrpe监控配置错误日志集
查看>>
web集群环境中的session同步几种方法
查看>>
Linux(ubuntu)命令行下显示方框的问题
查看>>
ZeroMQ安装
查看>>
Ceph:ceph-dash集群监控工具部署
查看>>
ss查看tcp链接数
查看>>
4、超链接和路径
查看>>
6、表格元素
查看>>
网站提示有风险?上海网站制作给你解决方案!
查看>>