vue-cli创建自定义preset预设项目

vue-cli创建自定义preset预设项目

  • 背景
    • 自定义预设
      • 创建默认预设
      • 创建预设项目
        • preset.json
        • prompts.js
        • template预设模板
        • generator.js
      • 本地预设创建项目

背景

一个 Vue CLI preset 是一个包含创建新项目所需预定义选项和插件的 JSON 对象,让用户无需在命令提示中选择它们。
vue create 过程中保存的 preset 会被放在你的 home 目录下的一个配置文件 ~/.vuerc,你可以通过直接编辑这个文件夹来调整,添加,删除保存好的 preset。

上面是 官方 preset 教程 给出的 preset 的定义和用途。其实就是一套针对你们企业所用到的一套脚手架,比如每个项目都有标准的典型页面布局和样式,一些通用方法(比如 numeral 处理千分位数字)、通用校验(比如 IPV4、IPV6校验)、通用多语言配置、通用样式(比如公司有针对不同多语言需要展示不同主题色,这种主题色配置、典型页面的 layout 布局)等等。

自定义预设项目就是这样,路由信息可能是针对不同项目内容是不同的,但是上面这些通用内容可以像脚手架默认内容一样写在项目中,当你基于这个自定义预设项目来创建一个新项目时,新项目中就会自动带有这些配置,就不需要你手动再一条一条添加,或者从别的项目里一遍遍复制了。

那如何自定义自己的 preset 项目呢?

自定义预设

创建默认预设

vue create 项目名

这里 winpty vue.cmdvue 效果一样

首先选择 Vue CLI 脚手架配置选项(同时作为自定义预设内容),并将其保存到本地,内容命名为 ws_vue2_preset,确认后去本地磁盘 C:\User\你的名字\.vuerc 查看

请添加图片描述

打开 .vuerc 文件,其中我们刚命名的预设名 ws_vue2_preset 所指向的内容就是我们需要的默认预设内容

请添加图片描述

创建预设项目

创建预设项目

  • 创建文件夹 ws_vue2_preset
  • 创建预设文件 ws_vue2_preset/preset.json
  • 创建 ws_vue2_preset/generator/index.js 导出一个函数
  • 创建 ws_vue2_preset/prompts.js 交互式告知自定义设置的信息
preset.json

C:\User\你的名字\.vuerc 中的预设对象复制到 preset.json 文件中

请添加图片描述

prompts.js

暂时不写内容设置为空

module.exports = []
template预设模板

将包含了你想加入到自定义预设的所有配置的项目内容复制到 template

请添加图片描述

需要注意的点:

  • public/index.html 模板中用到的 webpack 变量需要修改下语法糖
    请添加图片描述
  • 所有.xxx 文件需要改成 _xxx 文件
    请添加图片描述
  • 去除 node_modulespackage.json 文件
  • 项目中你不希望预设时复制的文件都可以去除,不放在 template
generator.js

在这里插入图片描述

  • api.extendPackage 里的内容就是你去除的那个 package.json 中的内容
  • api.render('./template') 指向的模板就是创建项目时会复制的内容

本地预设创建项目

此时预设项目已完成 ws_vue2_preset,测试是否可以通过这个预设来创建一个包含其内容的新项目。当前,当你开发一个远程 preset 时,也不需要频繁的向远程 repo 发出 push 进行反复测试。

请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/126662.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ECharts柱形图数据差距过大触发点击事件

目录 前言 一、普通点击事件 二、使用getZr()点击 前言 在项目开发中,由于一些数据量差距过大,导致偏小的值的点击事件难以触发,此时我们可以不用传统的点击事件,而是用可以包括背景区域的点击事件来触发。相当于点击整个坐标…

stable diffusion为什么能用于文本到图像的生成

推荐基于稳定扩散(stable diffusion) AI 模型开发的自动纹理工具: DreamTexture.js自动纹理化开发包 - NSDT 稳定扩散获得如此多关注的原因 如果你还没有看过它:稳定扩散是一个文本到图像的生成模型,你可以输入一个文本提示,比如…

内网渗透-防火墙出入规则上线-正反向连接+隧道技术-SMB+防火墙控制

环境:如下图 不出网-控制上线-CS-反向连接 前提:已经使用攻击机通过漏洞拿下了windows7主机,又通过windows7正向连接拿下了windows10。 目的:让windows2008在cs上线。 想要通过windows10正向连接拿下windows2008时,发现…

【Linux笔记】Linux环境变量与地址空间

【Linux笔记】Linux环境变量与地址空间 一、命令行参数1.1、main函数的参数1.2、main函数的第三个参数 二、环境变量的概念与内容2.1、环境变量的概念2.2、环境变量的分类2.3、环境变量的组织形式2.4、常见的环境变量 三、设置环境变量3.1、通过命令获取或设置环境变量3.2、通过…

C#中基于.NET6的动态编译技术

前几天要解决动态计算问题,尝试着使用了不同的方法。问题是给定一个包含计算的字符串,在程序运行中得到计算结果,当时考虑了动态编译,在网上查了一些资料完成了这项功能,可是基于不同的.NET平台使用的编程代码相差比较…

【Git】推送Github失败:remote: Permission to xxx/*.git denied to xxx

在github上&#xff0c;创建了token&#xff0c;推送代码报没权限 #设置token git remote set-url origin <your.token>github.com/<your.name>/hello-git.git#推送代码 #git push -u origin main remote: Permission to xxx/hello-git.git denied to xxx. fatal:…

vscode文件跳转(vue项目)

在 .vue 文件中&#xff0c;点击组件名打开 方式1&#xff1a; 在 vue 组件名上&#xff0c;桉住ctrl 鼠标左键 // 重新打开一个tab 方式2&#xff1a; 在 vue 组件名上&#xff0c;桉住ctrl shift 鼠标左键 // 在右侧拆分&#xff0c;并打开一个tab .vue文件的跳转 按住 …

DevChat:VSCode中基于大模型的AI智能编程助手

#AI编程助手哪家好&#xff1f;DevChat“真”好用# 文章目录 1. 前言2. 安装2.1 注册新用户2.2 在VSCode中安装DevChat插件2.3 设置Access Key 3. 实战使用3.1 代码编写3.2 项目创建3.3 代码讲解 4. 总结 1. 前言 DevChat是由Merico公司精心打造的AI智能编程助手。它利用了最先…

Figma切图,轻松上手!

对于UI设计师来说&#xff0c;在设计网页或移动应用界面时&#xff0c;不仅需要考虑视觉效果和用户体验&#xff0c;还需要考虑实际开发过程中的实现。例如&#xff0c;与开发人员合作&#xff0c;将设计草案中的图片、图标、插图等元素转换为网页或移动应用程序的代码&#xf…

PCF8574芯片介绍及驱动方法

文章目录 前言一、PCF8574芯片介绍二、PCF8574读写地址确定三、PCF8574读写模式传输数据四、PCF8574准双向I/O口五、PCF8574驱动程序编写总结 前言 本篇文章带大家学习PCF8574芯片&#xff0c;了解PCF8574芯片有什么作用&#xff0c;以及学习PCF8574的控制方法。 一、PCF8574…

【kafka】Java客户端代码demo:自动异步提交、手动同步提交及提交颗粒度、动态负载均衡

一&#xff0c;代码及配置项介绍 kafka版本为3.6&#xff0c;部署在3台linux上。 maven依赖如下&#xff1a; <!-- kafka --><dependency><groupId>org.apache.kafka</groupId><artifactId>kafka_2.13</artifactId><version>3.6.0…

Dapp开发流程以及应用

随着区块链技术的发展和普及&#xff0c;Dapp&#xff08;去中心化应用&#xff09;逐渐成为了区块链领域中备受关注的话题。Dapp是一种运行在区块链网络上的应用程序&#xff0c;具有去中心化、透明、安全、自治等特点&#xff0c;能够为人们提供更加便捷、高效、安全的应用体…

Stable Diffusion webui 源码调试(一)

Stable Diffusion webui 源码调试&#xff08;一&#xff09; 个人模型主页&#xff1a;LibLibai stable-diffusion-webui 版本&#xff1a;v1.4.1 内容更新随机&#xff0c;看心情调试代码~ 调试txt2img的参数和工作流 文件 /work/stable-diffusion-webui/modules/txt2img…

Rust和isahc库编写代码示例

Rust和isahc库编写的图像爬虫程序的代码&#xff1a; rust use isahc::{Client, Response}; fn main() { let client Client::new() .with_proxy("") .finish(); let url ""; let response client.get(url) .send() …

rtklib进行PPK解算

使用RTKLIB_bin-rtklib_2.4.3&#xff0c; 打开RTKPOST。 配置相关文件的路径&#xff0c;如果没有广播星历&#xff0c;则到武汉大学IGS数据中心 下载。 打开Options&#xff0c;进行配置。 点击执行 解算中 查看成果

使用OkHttp库爬取百度云视频详细步骤

目录 摘要 一、OkHttp库简介 二、爬虫基本概念 三、使用OkHttp库爬取百度云视频 1、发送HTTP请求 2、处理响应 3、下载文件 四、可能遇到的问题及解决方案 五、注意事项 总结与建议 摘要 本文将详细介绍如何使用OkHttp库爬取百度云视频。文章首先简要介绍OkHttp库和…

stm32f407栈溢出导致跑程序异常

栈溢出&#xff0c;固件下载后&#xff0c;会运行异常。如下代码&#xff1a; 代码运行异常&#xff0c;进入debug&#xff0c;发现有hard fault的错&#xff1a; 因为栈已经溢出&#xff0c;一般MCU的栈地址都是向下增长的&#xff0c;stm32也是一样&#xff0c;stm32在启动文…

《QT从基础到进阶·十六》QT实现客户端和服务端的简单交互

QT版本&#xff1a;5.15.2 VS版本&#xff1a;2019 客户端程序主要包含三块&#xff1a;连接服务器&#xff0c;发送消息&#xff0c;关闭客户端 服务端程序主要包含三块&#xff1a;打开消息监听&#xff0c;接收消息并反馈&#xff0c;关闭服务端 1、先打开服务端监听功能 …

Java 设计模式——访问者模式

目录 1.概述2.结构3.案例实现3.1.抽象访问者类3.2.抽象元素类3.3.具体元素类3.4.具体访问者类3.5.对象结构类3.6.测试 4.优缺点5.使用场景6.扩展6.1.分派6.2.动态分配6.3.静态分配6.4.双分派 1.概述 访问者模式 (Visitor Pattern) 是一种行为型设计模式&#xff0c;它用于将数…

jQuery中显示与隐藏

在我们jQuery当中&#xff0c;有多个显示隐藏的方法&#xff0c;本篇介绍一下hide()、show()、toggle() 在我们JS当中&#xff0c;或是CSS当中&#xff0c;我们常用到display:none或block; 在我们jQuery当中&#xff0c;我们该如何实现显示隐藏 在我们jQuery当中&#xff0c;我…