構建webpack環境

第一步:css

  全局安裝webpackvue

    npm install webpack -gnode

第二步:webpack

  建立項目,並自動生成package.json文件web

    npm initnpm

第三步:json

  安裝須要的插件api

    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-devbabel

    webpack (本地webpack)app

    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 開啓

相關文章
相關標籤/搜索