欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

使用vue-cli3新建一个项目并写好基本配置(推荐)

程序员文章站 2023-12-01 13:23:22
1. 使用vue-cli3新建项目: 注意,我这里用gitbash不好选择选项,我就用了基本的cmd(系统命令提示符):上下箭头和空格键可控制选项。 详细步骤: (...

1. 使用vue-cli3新建项目:

注意,我这里用gitbash不好选择选项,我就用了基本的cmd(系统命令提示符):上下箭头和空格键可控制选项。

详细步骤:

(1)vue create init: 这里我选择了自定义配置

使用vue-cli3新建一个项目并写好基本配置(推荐)

(2)使用上下箭头和空格进行选择,我这里选择了这四个,之所以没用css pre-processors是因为我的项目中要用postcss-cssnext,后面会有详细配置说明

使用vue-cli3新建一个项目并写好基本配置(推荐)

(3)后面的

use class-style component syntax? 是否使用class风格的组件语法?

use babel alongside typescript for auto-detected polyfills? 是否使用babel做转义?

use history mode for router? 是否使用路由的history模式?

where do you prefer placing config for babel, postcss, eslint, etc.? 把babel,postcss,eslint这些配置文件放哪?

save this as a preset for future projects? (y/n) 是否记录一下以便下次继续使用这套配置?

使用vue-cli3新建一个项目并写好基本配置(推荐)

使用vue-cli3新建一个项目并写好基本配置(推荐)

2. 改项目端口(个人需求): 在根目录新建vue.config.js(vue-cli3其他配置相关也写在这里)

module.exports = {
 devserver: {
  port: 8100, // 端口号
 }
}

3. 根据环境设置相关变量(比如请求地址、打包输出路径等),并打包不同环境代码

(1)在根目录新建appconf.json,保存不同环境的对应变量配置

{
 "dev": {
 "serverurl": "http://localhost:57156/"
 },
 "build": {
 "serverurl": "http://build.com/",
 "outputdir": "../../dist/build",      
 "productid": "111"
 },
 "alpha": {
 "serverurl": "http://build-test.com/",
 "outputdir": "../../dist/alpha",
 "productid": "222"
 }
}

(2)src下新建common文件夹,下面新建configbyenv.js,根据环境设置对应变量值

var path = require('path')
var appconf = require('../../appconf.json')
var serverurl
var productid = ''
switch (process.env.node_env) {
 case 'production':
  serverurl = appconf.build.serverurl
  productid = appconf.build.productid
  break
 case 'development':
  serverurl = appconf.dev.serverurl
  break
 case 'alpha':
  serverurl = appconf.alpha.serverurl
  productid = appconf.alpha.productid
  break
}
// 配置 build 文件输出路径, 可以使用绝对路径或相对路径
var outputdir
var reg = /^\.(\.)?\/.*/
if (reg.test(appconf.build.outputdir)) {
 if (process.env.node_env == 'alpha')
  outputdir = path.resolve(__dirname, appconf.alpha.outputdir) // 相对路径
 else
  outputdir = path.resolve(__dirname, appconf.build.outputdir) // 相对路径
} else {
 if (process.env.node_env == 'alpha')
  outputdir = appconf.alpha.outputdir
 else
  outputdir = appconf.build.outputdir // 绝对路径
}
var conf = {
 outputdir: outputdir,
 serverurl: serverurl,
 env: process.env.node_env,
 productid: productid
}
module.exports = conf

(3) 在需要用以上变量的地方引入即可,如

.js中: var { outputdir } = require('./src/common/configbyenv.js');

.ts中:import {serverurl} from '@/common/configbyenv.js'

注意:ts这样引入会报错,需要将tsconfig.json中添加  "allowjs": true,

-------- 上面针对某些变量根据不同环境设置了不同值,那么打包时只要更改环境,打包后则会取到不同环境对应的特定值 -----

因为项目中已经有开发环境和打包build环境,我这里只要再加一个打包alpha测试环境:

(1)package.json 中添加

{
 ···
 "scripts": {
 "serve": "vue-cli-service serve",
 "alpha": "vue-cli-service build --mode alpha",
 "build": "vue-cli-service build"
 }
 ···
}

(2)根目录新建.env.alpha,其内容为:

node_env = 'alpha'

(3)在vue.config.js设置打包输出路径

var { outputdir } = require('./src/common/configbyenv.js');
module.exports = {
 outputdir: outputdir,
 ···
}

4. 在项目中引入并配置postcss-nextcss

1.

// npm install autoprefixer --save-dev 此步不需要了,因为postcss-cssnext自带这个依赖

npm install postcss-cssnext --save-dev

npm install postcss-import --save-dev

npm install postcss-loader --save-dev

2. package.json中如果没有自动生成以下内容,则手动添加以下内容

{
 ··· 
 "postcss": {
 "plugins": {
  "postcss-cssnext": {}
 }
 },
 ··· 
}

5. 引入组件库:我这里用了elementui,配置步骤:

第一步:进入到项目目录里

npm i element-ui -s

第二步:在main.js中引入

import elementui from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
vue.use(elementui)

以上为vue-cli3初始化项目和一些基础配置,可根据个人喜好将ts和css文件与.vue分离。然后,愉快的写代码吧。。

总结

以上所述是小编给大家介绍的使用vue-cli3新建一个项目并写好基本配置 ,希望对大家有所帮助