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


Posted in Javascript onApril 24, 2019

1. 使用vue-cli3新建项目: https://cli.vuejs.org/zh/guide/creating-a-project.html

注意,我这里用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新建一个项目并写好基本配置 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
js 判断控件获得焦点的示例代码
Mar 04 Javascript
jquery实现的一个文章自定义分段显示功能
May 23 Javascript
javascript格式化日期时间方法汇总
Jun 19 Javascript
javascript 闭包详解
Jul 02 Javascript
Bootstrap 粘页脚效果
Mar 28 Javascript
利用angularjs1.4制作的简易滑动门效果
Feb 28 Javascript
基于jQuery实现文字打印动态效果
Apr 21 jQuery
原生JS实现贪吃蛇小游戏
Mar 09 Javascript
JavaScript代码压缩工具UglifyJS和Google Closure Compiler的基本用法
Apr 13 Javascript
基于Vue全局组件与局部组件的区别说明
Aug 11 Javascript
解决vue项目运行提示Warnings while compiling.警告的问题
Sep 18 Javascript
vue下拉刷新组件的开发及slot的使用详解
Dec 23 Vue.js
vue-cli3使用 DllPlugin 实现预编译提升构建速度
Apr 24 #Javascript
vue改变对象或数组时的刷新机制的方法总结
Apr 24 #Javascript
详解Vue源码中一些util函数
Apr 24 #Javascript
vue-cli3 DllPlugin 提取公用库的方法
Apr 24 #Javascript
VUE 实现复制内容到剪贴板的两种方法
Apr 24 #Javascript
详解一个小实例理解js原型和继承
Apr 24 #Javascript
微信小程序实现的一键复制功能示例
Apr 24 #Javascript
You might like
php调用mysql存储过程
2007/02/14 PHP
PHP+Memcache实现wordpress访问总数统计(非插件)
2014/07/04 PHP
windows下apache搭建php开发环境
2015/08/27 PHP
PHP使用strstr()函数获取指定字符串后所有字符的方法
2016/01/07 PHP
PHP使用文件锁解决高并发问题示例
2018/03/29 PHP
PHP实现的简单组词算法示例
2018/04/10 PHP
javascript中的undefined 与 null 的区别  补充篇
2010/03/17 Javascript
基于jQuery中对数组进行操作的方法
2013/04/16 Javascript
使用jquery 简单实现下拉菜单
2015/01/14 Javascript
Javascript基础教程之if条件语句
2015/01/18 Javascript
JS实现的幻灯片切换显示效果
2016/09/07 Javascript
jQuery实现判断控件是否显示的方法
2017/01/11 Javascript
JS设置时间无效问题的解决办法
2017/02/18 Javascript
Vue异步加载about组件
2017/10/31 Javascript
简单实现jquery隔行变色
2017/11/09 jQuery
详解vue-cli 接口代理配置
2017/12/13 Javascript
详解Vue 多级组件透传新方法provide/inject
2018/05/09 Javascript
详解Vue.js v-for不支持IE9的解决方法
2018/12/29 Javascript
详解微信UnionID作用
2019/05/15 Javascript
vue 地区选择器v-distpicker的常用功能
2019/07/23 Javascript
在vue中使用axios实现post方式获取二进制流下载文件(实例代码)
2019/12/16 Javascript
Vue引入Stylus知识点总结
2020/01/16 Javascript
简单了解JavaScript作用域
2020/07/31 Javascript
在类Unix系统上开始Python3编程入门
2015/08/20 Python
win10系统下Anaconda3安装配置方法图文教程
2018/09/19 Python
python查看模块,对象的函数方法
2018/10/16 Python
Python过滤txt文件内重复内容的方法
2018/10/21 Python
python使用插值法画出平滑曲线
2018/12/15 Python
Willer台湾:日本高速巴士/夜行巴士预约
2017/07/09 全球购物
德国领先的大尺码和超大尺码男装在线零售商:Bigtex
2019/06/22 全球购物
三八妇女节活动总结
2014/05/04 职场文书
单位委托书怎么写
2014/08/02 职场文书
走群众路线学习笔记
2014/11/06 职场文书
新郎婚礼致辞
2015/07/27 职场文书
2016年清明节期间群众祭祀活动工作总结
2016/04/01 职场文书
WIN10使用IIS部署ftp服务器详细教程
2022/08/05 Servers