vue正式与测试打包


第一步:创建命令

下面在 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(正式环境)。下面就是请求了。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 原文http://www.cnblogs.com/libin-1/p/6596810.html 版本号 vue-c...
    tengrl阅读 3,850评论 0 0
  • 全局安装webpack 全局安装webpack会有个问题,就是当你有两个项目依赖于不同版本的webpack,就会有...
    説好的妹紙呢阅读 1,948评论 0 11
  • Struts1和Struts2的区别和对比: Action 类: • Struts1要求Action类继承一个抽象...
    HeartGo阅读 394评论 0 1
  • 这是一个漫长的告别仪式,和从前的自己说再见。以前总以为要开始美好的生活就是要把痛苦努力的忘记,其实真正的忘记反而是...
    剪枫阅读 67评论 0 0
  • 毕淑敏老师在《在不安的世界里享有幸福》里写道: 我到国外某机构参观,辉煌大厅中竖立着金字的企业精神,其中有一条,叫...
    璃若凡阅读 834评论 0 4

友情链接更多精彩内容