zoukankan      html  css  js  c++  java
  • 构建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 开启

  • 相关阅读:
    Memcached下载安装和使用
    PHP curl拓展的介绍和使用
    理解PHP面向对象三大特性
    empty()、isset()、is_null()的区别
    ThinkPHP无法打开或点击不了Trace的问题
    jQuery实现动态时间
    jQuery中$.get()和$.post()的异同点
    jQuery中attr()和prop()及removeAttr()和removeProp()的区别
    Windows10测试低版本IE方法
    apache 2.2 和 2.4 访问控制区别 (require 替代 deny)
  • 原文地址:https://www.cnblogs.com/tqt--0812/p/7531337.html
Copyright © 2011-2022 走看看