美文网首页
vue正式与测试打包

vue正式与测试打包

作者: 令武 | 来源:发表于2019-06-25 19:56 被阅读0次


    第一步:创建命令

    下面在 packge.json 文件中,创建一条命令

    {

      "name": "xxxx",

      "version": "1.0.0",

      "description": "xxxx",

      "author": "",

      "private": true,

      "scripts": {

        "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",

        "start": "npm run dev",

        "build": "node build/build.js",

        "build_dev": "node build/build_dev.js"  // 1、此处是自定义的。注意:不要把此注释复制代码中

      },

      "dependencies": {...

      },

      "devDependencies": {

        .....

    }

    第二步:创建 build_dev.js

    在 build文件夹中,复制build.js文件,并且重新命名为 build_dev.js


    第三步:定义变量

    下面的变量用于判断打包那个配置环境

    'use strict'

    require('./check-versions')()

    process.env.NODE_ENV = 'develop' // 1、定义变量

    const ora = require('ora')

    const rm = require('rimraf')

    const path = require('path')

    const chalk = require('chalk')

    const webpack = require('webpack')

    const config = require('../config')

    const webpackConfig = require('./webpack.prod.conf')

    const spinner = ora('building for production...')

    spinner.start()


    第四步:判断是否打哪个包


    此处才是真正的换打包的地方。在build文件夹中找到 webpack.prod.conf 文件,修改下面的打包配置

    'use strict'

    const path = require('path')

    const utils = require('./utils')

    const webpack = require('webpack')

    const config = require('../config')

    const merge = require('webpack-merge')

    const baseWebpackConfig = require('./webpack.base.conf')

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

    const HtmlWebpackPlugin = require('html-webpack-plugin')

    const ExtractTextPlugin = require('extract-text-webpack-plugin')

    const OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin')

    const env = process.env.NODE_ENV == ' develop' ? require('../config/dev.env') :

    require('../config/prod.env') ; // 1、此处就是判断哪个文件配置打包,如果是 devs 运行的,则测试包

    const webpackConfig = merge(baseWebpackConfig, {

      module: {

        rules: utils.styleLoaders({

          sourceMap: config.build.productionSourceMap,

          extract: true,

          usePostCSS: true

        })

      },

      devtool: config.build.productionSourceMap ? config.build.devtool : false,

      output: {

        path: config.build.assetsRoot,

        filename: utils.assetsPath('js/[name].[chunkhash].js'),

        chunkFilename: utils.assetsPath('js/[id].[chunkhash].js')

      },

      plugins: [

        // http://vuejs.github.io/vue-loader/en/workflow/production.html

        new webpack.DefinePlugin({

          'process.env': env

        }),

        // UglifyJs do not support ES6+, you can also use babel-minify for better treeshaking:

    第五步:请求

    此处略过一些配置测试与正式环境详情了。在 config 文件中的 dev.env.js与prod.env.js 文件,进行配置变量。在axios 封装的文件中,使用 process.env.xx进行获取数据

    第六步:打包

    进行 npm run build_dev(测试环境) ,npm run build(正式环境)。下面就是请求了。

    相关文章

      网友评论

          本文标题:vue正式与测试打包

          本文链接:https://www.haomeiwen.com/subject/qfsaqctx.html