We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
项目采用 ES6 语言加 React 框架。
给页面加入 Google Analytics,这部分代码需要内嵌进 HEAD 标签里去。
给页面加入 Disqus 用户评论,这部分代码需要异步加载以提升首屏加载速度。
压缩和分离 JavaScript 和 CSS 代码,提升加载速度。
Webpack 插件 web-webpack-plugin
const path = require('path'); const UglifyJsPlugin = require('webpack/lib/optimize/UglifyJsPlugin'); const ExtractTextPlugin = require('extract-text-webpack-plugin'); const DefinePlugin = require('webpack/lib/DefinePlugin'); const { WebPlugin } = require('web-webpack-plugin'); module.exports = { entry: { app: './main.js'// app 的 JavaScript 执行入口文件 }, output: { filename: '[name]_[chunkhash:8].js',// 给输出的文件名称加上 Hash 值 path: path.resolve(__dirname, './dist'), }, module: { rules: [ { test: /\.js$/, use: ['babel-loader'], // 排除 node_modules 目录下的文件, // 该目录下的文件都是采用的 ES5 语法,没必要再通过 Babel 去转换 exclude: path.resolve(__dirname, 'node_modules'), }, { test: /\.css$/,// 增加对 CSS 文件的支持 // 提取出 Chunk 中的 CSS 代码到单独的文件中 use: ExtractTextPlugin.extract({ use: ['css-loader?minimize'] // 压缩 CSS 代码 }), }, ] }, plugins: [ // 使用本文的主角 WebPlugin,一个 WebPlugin 对应一个 HTML 文件 new WebPlugin({ template: './template.html', // HTML 模版文件所在的文件路径 filename: 'index.html' // 输出的 HTML 的文件名称 }), new ExtractTextPlugin({ filename: `[name]_[contenthash:8].css`,// 给输出的 CSS 文件名称加上 Hash 值 }), new DefinePlugin({ // 定义 NODE_ENV 环境变量为 production,以去除源码中只有开发时才需要的部分 'process.env': { NODE_ENV: JSON.stringify('production') } }), // 压缩输出的 JavaScript 代码 new UglifyJsPlugin({ // 最紧凑的输出 beautify: false, // 删除所有的注释 comments: false, compress: { // 在UglifyJs删除没有用到的代码时不输出警告 warnings: false, // 删除所有的 `console` 语句,可以兼容ie浏览器 drop_console: true, // 内嵌定义了但是只用到一次的变量 collapse_vars: true, // 提取出出现多次但是没有定义成变量去引用的静态值 reduce_vars: true, } }), ], };
The text was updated successfully, but these errors were encountered:
No branches or pull requests
项目采用 ES6 语言加 React 框架。
给页面加入 Google Analytics,这部分代码需要内嵌进 HEAD 标签里去。
给页面加入 Disqus 用户评论,这部分代码需要异步加载以提升首屏加载速度。
压缩和分离 JavaScript 和 CSS 代码,提升加载速度。
Webpack 插件 web-webpack-plugin
The text was updated successfully, but these errors were encountered: