构建webpack环境

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了构建webpack环境相关的知识,希望对你有一定的参考价值。

第一步:

  全局安装webpack

    npm install webpack -g

第二步:

  创建项目,并自动生成package.json文件

    npm init

第三步:

  安装需要的插件

    npm install webpack webpack-dev-server babel-core babel-loader copy-webpack-plugin css-loader style-loader vue-loader vue-style-loader vue-template-compiler --save-dev

    webpack (本地webpack)

    webpack-dev-server (wabpack搭建本地服务)

    babel-core (Babel核心模块,Babel主要用于js超集的编译如, ES6, ES7, TS)

    babel-loader (js的loader)

    copy-webpack-plugin (拷贝文件插件)

    css-loader style-loader (样式解析)

    vue-loader (vue的loader)

    vue-style-loader (vue文件的样式loader)

    vue-template-compiler (vue文件组件的loader)

第四步:

  用配置文件来打包,并开启服务

    创建webpack.config.js文件

const webpack = require(webpack);
const CopyWebpackPlugin = require(copy-webpack-plugin);

module.exports = {
    entry: __dirname + /app/main.js,        //唯一文件入口
    output: {
        path: __dirname + /public/,        //打包后文件路径
        filename: myAll.js                //打包后文件名
    },
    module: {
      loaders: [                            //rules和loaders都可以
          {
          test: /\.js$/,                    //用于解析ES6
          loader: babel-loader,
          exclude: /node_modules/,
        },
        {
          test: /\.vue$/,                    //用于解析.vue文件
          loader: vue-loader,
        },
        {
          test: /\.css$/,
          use: ExtractTextPlugin.extract({
            fallback: "style-loader",
            use: "css-loader",
          }),
        }
      ]
    },
    devServer: {
        contentBase: ./public,            //服务开启后加载的文件目录
        port: 8081,                            //本地服务监听端口
        historyApiFallback: true,            //页面不跳转
        inline: true                          //实时刷新页面
    },
    plugins: [
        //内置插件
        new webpack.BannerPlugin(版权所有,翻版必究),        //为文件添加标识
        new webpack.optimize.OccurrenceOrderPlugin(),        //为组件分配ID
        new webpack.optimize.UglifyJsPlugin(),                //压缩js文件

        //外部插件
        new CopyWebpackPlugin([                                //用于文件复制
            { from: src/mock/api.json, to: mock },
            { context: src/images, from: *, to: path.join(__dirname, dist, images) }
          ]),
    ]
};

第五步:

  开启本地服务的配置

//package.json
"scripts": {
  "server": "webpack-dev-server --open --progress"  
}

    命令npm run server 开启

 

以上是关于构建webpack环境的主要内容,如果未能解决你的问题,请参考以下文章

webpack优化环境配置

webpack优化环境配置

手把手带你使用webpack4构建一个Vue开发编译环境,并实现代码分割,css代码分离

在基于 TypeScript/eslint/Webpack 的构建环境中检测未使用的导出符号

使用webpack+babel构建ES6语法运行环境

Webpack构建多页应用Mpa:提取公共jscsshtml代码,实现图片字体单独打包,拆分多环境配置文件