Rumah hujung hadapan web tutorial js Vue项目怎样分环境打包

Vue项目怎样分环境打包

Apr 11, 2018 pm 01:35 PM
bagaimana Pek persekitaran

这次给大家带来Vue项目怎样分环境打包,Vue项目分环境打包的注意事项有哪些,下面就是实战案例,一起来看一下。

第1步:安装cross-env

在项目目录下运行如下命令安装cross-env,我的ide是webstorm,要以直接在ide里的Terminal窗口中运行,也可能通过windows的CMD、Linux的Terminal定位到项目根目录运行下面的命令。

npm i --save-dev cross-env

第2步:修改各环境下的参数

在config/目录下添加test.env.js、pre.env.js。修改prod.env.js里的内容,修改后的内容如下:

'use strict'
module.exports = {
 NODE_ENV: '"production"',
 EVN_CONFIG:'"prod"',
 API_ROOT:'"/apis/v1"'
}
Salin selepas log masuk

分别对test.env.js和pre.env.js文件内容进修修改,修改后的内容如下:

'use strict'
module.exports = {
 NODE_ENV: '"testing"',
 EVN_CONFIG:'"test"',
 API_ROOT:'"/test/apis/train"'
}
'use strict'
module.exports = {
 NODE_ENV: '"presentation"',
 EVN_CONFIG:'"pre"',
 API_ROOT:'"/pre/apis/train"'
}
Salin selepas log masuk

对dev.env.js文件内容进行修改,修改后的内容如下。dev环境配制了服务代理,API_ROOT前的api是配制的代理地址。

module.exports = merge(prodEnv, {
 NODE_ENV: '"development"',
 VN_CONFIG: '"dev"',
 API_ROOT: '"api/apis/v1"'
})
Salin selepas log masuk

第3步:修改项目package.json文件

对package.json文件中的scripts内容进行个性,添加上新定义的几种环境的打包过程,里的参数与前面的调协保持一致。

"scripts": {
  "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
  "start": "npm run dev",
  "build": "node build/build.js",
  "build:test": "cross-env NODE_ENV=production env_config=test node build/build.js",
  "build:pre": "cross-env NODE_ENV=production env_config=pre node build/build.js",
  "build:prod": "cross-env NODE_ENV=production env_config=prod node build/build.js"
 },
Salin selepas log masuk

在这里,NODE_ENV最好都设成production,因为在utils.js只做了production一种判定,亲测不会影响各环境API参数。 ##第4步:修改config/index.js

修改config/index.js文件中build参数,这里的参数会在build/webpackage.prod.conf.js中使用到

build:{
  // Template for index.html
  // 添加test pre prod 三处环境的配制
  prodEnv: require('./prod.env'),
  preEnv: require('./pre.env'),
  testEnv: require('./test.env'),
  //下面为原本的内容,不需要做任何个性
  index:path.resolve(dirname,'../dist/index.html'),
Salin selepas log masuk

第5步:在webpackage.prod.conf.js中使用构建环境参数

对build/webpackage.prod.conf.js文件进行修改,调整env常量的生成方式。

// 个性env常量的定义
// const env = require('../config/prod.env')
const env = config.build[process.env.env_config+'Env']
Salin selepas log masuk

第6步:调整build/build.js

删除process.env.NODE_ENV的赋值,修改spinner的定义,调整后的内容如下:

'use strict'
require('./check-versions')()
// 注释掉的代码
// process.env.NODE_ENV = 'production'
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')
// 修改spinner的定义
// const spinner = ora('building for production...')
var spinner = ora('building for ' + process.env.NODE_ENV + ' of ' + process.env.env_config+ ' mode...' )
spinner.start()
//更多的其它内容,不需要做任何调整的内容 ...
Salin selepas log masuk

补充:

vue2+webpack怎样分环境打包

今年有机会做了一个vue2的单页面应用的项目,从开发到上线经历了两个环境。测试环境以及正式环境我都是跑npm run build。这两个环境的变量当前是不一样的,每次打包都要去改变量,感觉有点小麻烦。后来参考同事的,他们项目里面分环境跑不同的命令,得到不同的包。例如测试环境npm run test ,正式环境 npm run build。

  需在文件config/prod.env.js配置  

const target = process.env.npm_lifecycle_event;
  if (target == 'test') {
  //测试
  var obj = {
  NODE_ENV: '"production"',
  //post用当前域名
  API_ROOT: '""',
  //数据字典
  API_ROOT_DICT:'"http://test.gw.fdc.com.cn"',
  }
}else {
  //线上
  var obj = {
  NODE_ENV: '"production"',
  //post用当前域名
  API_ROOT: '""',
  //数据字典
  API_ROOT_DICT:'"http://gw.fdc.com.cn"',
  }
}
module.exports = obj;
Salin selepas log masuk

npm 提供一个npm_lifecycle_event变量,返回当前正在运行的脚本名称,比如pretest、test、posttest等等。所以,可以利用这个变量,在同一个脚本文件里面,为不同的npm scripts命令编写代码。

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

webpack的移动端自动化构建rem方法详解

使用angular2模块和共享模块的详细介绍

Atas ialah kandungan terperinci Vue项目怎样分环境打包. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Tidak dapat boot ke dalam persekitaran pemulihan Windows Tidak dapat boot ke dalam persekitaran pemulihan Windows Feb 19, 2024 pm 11:12 PM

Persekitaran Pemulihan Windows (WinRE) ialah persekitaran yang digunakan untuk membaiki ralat sistem pengendalian Windows. Selepas memasuki WinRE, anda boleh melakukan pemulihan sistem, tetapan semula kilang, menyahpasang kemas kini, dsb. Jika anda tidak dapat boot ke WinRE, artikel ini akan membimbing anda melalui pembetulan untuk menyelesaikan isu tersebut. Tidak dapat boot ke dalam Persekitaran Pemulihan Windows Jika anda tidak boleh but ke dalam Persekitaran Pemulihan Windows, gunakan pembetulan yang disediakan di bawah: Semak status Persekitaran Pemulihan Windows Gunakan kaedah lain untuk memasuki Persekitaran Pemulihan Windows Adakah anda secara tidak sengaja memadam Pembahagian Pemulihan Windows? Lakukan peningkatan di tempat atau pemasangan bersih Windows di bawah, kami telah menerangkan semua pembaikan ini secara terperinci. 1] Semak Wi

Apakah perbezaan antara Python dan Anaconda? Apakah perbezaan antara Python dan Anaconda? Sep 06, 2023 pm 08:37 PM

Dalam artikel ini, kita akan belajar tentang perbezaan antara Python dan Anaconda. Apakah Python? Python ialah bahasa sumber terbuka yang memberi penekanan yang besar untuk menjadikan kod mudah dibaca dan difahami dengan menginden baris dan menyediakan ruang kosong. Fleksibiliti dan kemudahan penggunaan Python menjadikannya sesuai untuk pelbagai aplikasi, termasuk tetapi tidak terhad kepada pengkomputeran saintifik, kecerdasan buatan dan sains data, serta mencipta dan membangunkan aplikasi dalam talian. Apabila Python diuji, ia segera diterjemahkan ke dalam bahasa mesin kerana ia adalah bahasa yang ditafsirkan. Sesetengah bahasa, seperti C++, memerlukan kompilasi untuk difahami. Kemahiran dalam Python adalah kelebihan penting kerana ia sangat mudah difahami, dibangunkan, dilaksanakan dan dibaca. Ini menjadikan Python

Kongsi cara mudah untuk membungkus projek PyCharm Kongsi cara mudah untuk membungkus projek PyCharm Dec 30, 2023 am 09:34 AM

Kongsi kaedah pembungkusan projek PyCharm yang mudah dan mudah difahami Dengan populariti Python, semakin ramai pembangun menggunakan PyCharm sebagai alat utama untuk pembangunan Python. PyCharm ialah persekitaran pembangunan bersepadu yang berkuasa yang menyediakan banyak fungsi mudah untuk membantu kami meningkatkan kecekapan pembangunan. Salah satu fungsi penting ialah pembungkusan projek. Artikel ini akan memperkenalkan cara untuk membungkus projek dalam PyCharm dengan cara yang mudah dan mudah difahami, dan memberikan contoh kod khusus. Mengapa projek pakej? Dibangunkan dalam Python

Cara menggunakan ungkapan biasa Python untuk pembungkusan dan pengedaran kod Cara menggunakan ungkapan biasa Python untuk pembungkusan dan pengedaran kod Jun 23, 2023 am 09:31 AM

Apabila bahasa pengaturcaraan Python menjadi semakin popular, semakin ramai pembangun mula menulis kod dalam Python. Tetapi dalam penggunaan sebenar, kita selalunya perlu membungkus kod ini dan mengedarkannya kepada orang lain untuk digunakan. Artikel ini akan memperkenalkan cara menggunakan ungkapan biasa Python untuk pembungkusan dan pengedaran kod. 1. Pembungkusan kod Python Dalam Python, kita boleh menggunakan alatan seperti setuptools dan distutils untuk membungkus kod kita. Alat ini boleh menukar fail Python, modul

Bagaimana untuk menggunakan pkg untuk membungkus projek Node.js ke dalam fail boleh laku? Bagaimana untuk menggunakan pkg untuk membungkus projek Node.js ke dalam fail boleh laku? Jul 26, 2022 pm 07:33 PM

Bagaimana untuk membungkus fail boleh laku nodejs dengan pkg? Artikel berikut akan memperkenalkan kepada anda cara menggunakan pkg untuk membungkus projek Node.js ke dalam fail boleh laku. Saya harap ia akan membantu anda!

Penjelasan terperinci tentang fungsi VSCode: Bagaimanakah ia membantu anda meningkatkan kecekapan kerja? Penjelasan terperinci tentang fungsi VSCode: Bagaimanakah ia membantu anda meningkatkan kecekapan kerja? Mar 25, 2024 pm 05:27 PM

Penjelasan terperinci tentang fungsi VSCode: Bagaimanakah ia membantu anda meningkatkan kecekapan kerja? Dengan pembangunan berterusan industri pembangunan perisian, usaha pemaju untuk kecekapan kerja dan kualiti kod telah menjadi matlamat penting dalam kerja mereka. Dalam proses ini, pilihan editor kod menjadi keputusan utama. Di antara banyak editor, Kod Visual Studio (pendek kata VSCode) disukai oleh majoriti pembangun kerana fungsinya yang berkuasa dan kebolehskalaan yang fleksibel. Artikel ini akan memperkenalkan beberapa fungsi VSCode secara terperinci dan membincangkan

Pengisytiharan Kemerdekaan untuk Aplikasi Python: PyInstaller's Road to Freedom Pengisytiharan Kemerdekaan untuk Aplikasi Python: PyInstaller's Road to Freedom Feb 20, 2024 am 09:27 AM

PyInstaller: Kebebasan aplikasi Python PyInstaller ialah alat pembungkusan python sumber terbuka yang membungkus aplikasi Python dan kebergantungannya ke dalam fail boleh laku bebas. Proses ini menghapuskan pergantungan pada penterjemah Python sambil membenarkan aplikasi berjalan pada pelbagai platform, termasuk Windows, MacOS dan Linux. Proses Pembungkusan Proses pembungkusan PyInstaller adalah agak mudah dan melibatkan langkah-langkah berikut: pipinstallpyinstallerpyinstaller--onefile--windowedmain.py--onefile option mencipta satu

Apakah maksud pembungkusan linux? Apakah maksud pembungkusan linux? Feb 23, 2023 pm 06:30 PM

Di Linux, pembungkusan merujuk kepada koleksi fail atau direktori, dan koleksi ini disimpan dalam fail secara ringkas, pembungkusan merujuk kepada menukar sejumlah besar fail atau direktori kepada jumlah fail. Fail yang dibungkus tidak dimampatkan, jadi ruang yang diperlukan adalah jumlah semua fail dan direktori di dalamnya.

See all articles