当前位置: 首页 > news >正文

Template -- Vue2

Vue2

版本

  • Node 14.14.0
  • Npm 6.14.8
  • Vue @vue/cli 5.0.3
    • npm install -g @vue/cli@5.0.3
  • cnpm cnpm@7.1.0
    • npm install -g cnpm@7.1.0 --registry=https://registry.npm.taobao.org

项目

创建

vue create single         # vue 2.6.14

配置

// vue.config.js
const { defineConfig } = require("@vue/cli-service");
module.exports = defineConfig({transpileDependencies: true,lintOnSave: false,      // 暂时关闭 eslintassetsDir: 'static',    // 静态资源打包存储文件夹devServer: {port: 3030, //端口号open: true, //自动打开浏览器}
});

环境区分

  • vue.config.js 同级创建文件
  • .env.test
NODE_ENV = "test"
VUE_APP_TITLE = "测试"
VUE_APP_URL = "test"
  • .env.production
NODE_ENV = "production"
VUE_APP_TITLE = "生产"
VUE_APP_URL = "production"
  • index.html
<title> <%= process.env.VUE_APP_TITLE %></title>
  • package.json
{"private": false,"scripts": {"serve": "vue-cli-service serve --mode test","serve1": "vue-cli-service serve --mode production","build": "vue-cli-service build --mode test","build1": "vue-cli-service build --mode production","lint": "vue-cli-service lint"}
}

UI

cnpm install element-ui@2.15.14
  • main.js
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';Vue.use(ElementUI);

Sass / Scss

cnpm install node-sass@6.0.0 --save-dev
cnpm install sass-loader@11.1.0 --save-dev
cnpm install style-loader@3.3.4 --save-dev
  • 使用
<style lang="scss">
.iiii{.sss{color: red;}
}
</style>

axios

  • src/http/index.js
import axios from "axios";let service = axios.create({// baseURL: "https://cnodejs.org/api/v1", //相同绝对路径baseURL: process.env.VUE_APP_URL, //相同绝对路径timeout: 100000, //超过这么多时间,则请求终止headers: {//请求头携带数据的格式"Content-Type": "application/json;charset=UTF-8",// "Content-Type": "application/x-www-form-urlencoded;charset=utf-8",},
});
// 添加请求拦截器(Interceptors)
service.interceptors.request.use(function (config) {// 发送请求之前做写什么let token = localStorage.getItem("token");// 如果有if (token) {// 放在请求头(token跟后端沟通,他需要什么该成什么就可以了)config.headers.authorization = token;}return config;},function (error) {// 请求错误的时候做些什么return Promise.reject(error);}
);
// 添加响应拦截器
service.interceptors.response.use(function (response) {// 对响应数据做点什么return response.data;},function (error) {// 对响应错误做点什么return Promise.reject(error);}
);export default service;
  • src/http/api.js
import request from "./index";export async function Ceshi(params) {return request({url: "/topics",method: "GET",params,});}export async function Ceshi2(data) {return request({url: "/Storage/GetStorageLack",method: "POST",data,});}
  • 使用
<script>
import { Ceshi } from "@/http/api";
export default {async created() { var a = await Ceshi();console.log(a);},
};
</script>

router

cnpm i vue-router@3 
  • src/router/index.js
import Vue from "vue";
import Router from "vue-router";Vue.use(Router);//配置路由
const router = new Router({// mode: "history",mode: "hash",routes: [{path: "/",name: "Cs",component: () => import("@/view/c.vue"),},],
});//导出
export default router;
  • main.js
import router from './router'new Vue({render: h => h(App),router
}).$mount('#app')
  • App.vue
<router-view></router-view>

vuex

cnpm install vuex@3
  • src/store/modules/c1.js
export default {namespaced: true,state: {c1: [{id: "01001",name: "如何",},{id: "01002",name: "如何学好编程",},],},mutations: {},actions: {},
};
  • src/store/index.js
import Vue from "vue";
import Vuex from "vuex";
import c1 from "./modules/c1";Vue.use(Vuex);export default new Vuex.Store({modules: {c1: c1,},state: {id: "01",},mutations: {},
});
  • main.js
import store from './store'
new Vue({render: h => h(App),store
}).$mount('#app')

Vue2 多模块打包

  • .env.test
MODEL_NAME = "test"
  • .env.production
MODEL_NAME = "test1"
  • vue.config.js
let modelName = process.env.MODEL_NAME || "";
let outputDir = modelName ? `dist/${modelName}/` : "dist/";
const config = {test: {pages: {index: {filename: "index.html",entry: "src/main.js",template: "public/index.html"}},devServer: {port: 3032, //端口号open: true, //自动打开浏览器}},test1: {pages: {index: {filename: "index.html",entry: "src/main.js",template: "public/index.html"}},devServer: {port: 3030, //端口号open: true, //自动打开浏览器}},
};const { defineConfig } = require("@vue/cli-service");
module.exports = defineConfig({transpileDependencies: true,lintOnSave: false, //暂时关闭 eslint...config[modelName],outputDir: outputDir,       // 项目输出目录assetsDir: 'static'
});
http://www.lryc.cn/news/284712.html

相关文章:

  • zookeeper window 安装
  • Redis 面试题 | 02.精选Redis高频面试题
  • 大数据开发之kafka(完整版)
  • 单体架构、微服务和无服务器架构
  • Github仓库使用方式
  • Harmony Ble蓝牙App(四)描述符
  • C# 实现单线程异步互斥锁
  • Java设计模式中策略模式可以解决许多if-else的代码结构吗? 是否能满足开闭原则?
  • [C#]C# winform部署yolov8目标检测的openvino模型
  • 力扣刷MySQL-第五弹(详细讲解)
  • 用C语言实现简单的三子棋游戏
  • Yaklang 中的类型和变量
  • C语言从入门到实战——编译和链接
  • 【实战教程】ThinkPHP6分页功能轻松实现,让你的网站更高效!
  • 专业130+总分380+哈尔滨工程大学810信号与系统考研经验水声电子信息与通信
  • 旅游项目day08
  • 蓝桥杯真题(Python)每日练Day2
  • IntelliJ IDEA 拉取gitlab项目
  • RHCSA上课笔记(前半部分)
  • C++代码入门05 字符串容器
  • vue3 项目中 arguments 对象获取失败问题
  • 12.线程同步
  • 开发安全之:System Information Leak: External
  • burp靶场--文件上传
  • mac 中vscode设置root启动
  • 【MySQL数据库专项 一】一个例子讲清楚数据库三范式
  • 【笔记】关于期刊
  • SpringMVC-.xml的配置
  • Java找二叉树的公共祖先
  • 《Linux高性能服务器编程》笔记03