cli.vuejs(clivuejsorg)

  • 1、在vue-cli3.0中配置webpack
  • 2、一篇文章说清 webpack、vite、vue-cli、create-vue 的区别
  • 3、VueCLI3打包优化–抽离依赖包
  • 4、Vue兼容ie9+
  • 5、Vue项目打包发布至npm
  • 6、Vue CLI内网安装(禁止运行vue指令解决方案)

在vue-cli3.0中,对各种配置文件进行了合并,若要进行webpack相关配置,需要在项目根目录下新建vue.config.js文件

在 vue.config.js 中的 configureWebpack 选项提供一个对象:

提示:有些webpack设置选项是基于vue项目设置的,为了保证vue可以正常工作,某些webpack的配置需要遵从vue提供的配置选项,例如

如果你熟悉webpack,你已经可以开始配置项目了

扩展:链式操作—jquery那般的链式书写方式

官方文档:

先看这个表格:

是不是有了一个整体的感觉?我们再来详细的看一下。

官网:

vue-cli 是 Vue 早期推出的一款脚手架,使用 webpack 创建 Vue 项目,可以选择安装需要的各种插件,比如 Vuex、VueRouter等。

vue-cli 用于创建 vue2 的项目;

@vue/cli 用于创建 vue3 的项目,当然也支持 vue2。

使用起来还是比较繁琐的,首先要安装脚手架,然后使用 vue create hello-world 创建项目,具体的就不介绍了。

官网:

create-vue 是 Vue3 的专用脚手架,使用 vite 创建 Vue3 的项目,也可以选择安装需要的各种插件,使用更简单。

然后我们可以选择需要的各种插件:

官网:

使用 vite 不仅可以创建 vue 的项目,而且可以创建 react 等项目,只是需要手动安装第三方插件,有点麻烦。

目前支持的模板预设如下:

官网:

rollup 是一种打包工具,特点就是,打的包非常精简,体积小。

官网是英文的,中文资料也比较少,不过好在常规用法可以参考 vite的官网。

尤雨溪在知乎的一次回答( )里提到:

webpack 是一个全能选手,啥都能干,只是有点复杂,对新手不太友好。

Rollup 是后起之秀,打包更简洁。

vite 把 rollup 变成了“开袋即食”,便于新手入门。

create-vue 基本取代了 vue-cli,除非你想创建 vue2 的项目。

所以,想创建一个 vue3 的项目,首选 create-vue,非常方便快捷,建立的项目也可以统一风格。

项目开发中,使用了很多依赖包,如 Vue 、路由管理 Vue-router 、状态管理 Vuex 、UI组件库( ElementUI 、 Vant )、图表( echarts )等。打包构建,发现有一些包体积过大,会影响首页加载速度。如下所示:

从上图的分析包中,可以将以下插件抽离:

需要删除的依赖包

VueCLI3自带了 webpack analzer ,可通过如下命令即可生成分析包内容,在 dist/report.html

更多请查看:

减少打包体积、加快打包速度,常规的优化有以下两种:

按需加载是通过只引用使用的组件来减少体积,这就会有一个问题:如果项目重度依赖第三方插件(如 ElementUI 、 vant ),那么此方案将无法减少打包的体积。

这里选择CDN的方式, 配置流程 :

可根据环境变量,仅在线上采取使用CDN,开发环境直接使用npm依赖包即可。

进行包分离以后,打包结果:

vue.config.js 的pages为:

修改如下的地方:

外部扩展(externals)

使用webpack的externals来指定echarts无法减少包的大小

vue-cli利用webpack-bundle-analyzer分析构建产物

首先说明一下我在这里使用的是vue-cli3创建的项目,不同版本的配置可能略有差异,不过一切以官方文档的为准,在这里先贴出vue-cli文档链接,因为文档说明还是挺详细的。

进入正题,这里说明一下本文实现兼容应用的是 Babel7.4.0 之前的版本,7.4.0版本前转码主要应用到的工具还是 @Babel/polyfill ,由于Babel默认只转换新的javascript语法,不支持新的Api(如Set,Map,Promise),所以还需要引入 cors.js ,这个项目中没有使用到Generator函数所以不需要引入 regenerator-runtime ,首先用vue-cli3创建的项目package.json文件中有 browserslist 这个字段或是在项目根目录有一个 .browserslistrc 文件,这里是用来指定可用浏览器的范围,关于指定浏览器版本配置可以参考这里 。顺便贴出目前我的配置。

可以在终端运行 npx browserslist 查询当前已选择了那些浏览器

一个用vue-cli创建的项目中默认会使用 @vue/babel-preset-app ,我们可以在node_modules @vue babel-preset-app package.json文件中看到配置了core.js,

没有在entry入口文件进行配置@babel/polyfill网页打开发现很多es6新的Api是不支持的。

此文章作为学习和记录,如果有问题或是不对的地方欢迎各位大佬指出,感激不尽!

新建一个项目,在根目录创建两个文件夹 packages 和 examples

将原项目中 components 下所有组件复制到新项目的 packages 目录下,如果有字体图标,将字体图标也一并放到 packages 目录下

packages/index.js

main.js

必须在 new Vue() 方法前调用 use 方法注册插件

Vue CLI提供了将Vue项目打包成库的命令,官方文档地址

package.json

在 package.json 中新增一条打包命令,其中 packages/index.js 指定打包入口文件

默认情况下该命令不会将 Vue 打包进去,因为任何引用我们库的Vue项目都默认包含 Vue ,如果使用文件或者CDN方式引入我们的库,则需要使用者手动引入 Vue 。可以通过添加 –inline-vue 参数来内置 Vue 。 –name 来指定打包后的名字。

运行打包命令

package.json

其中 name 不能在 npm 上已经存在, private 必须设置为 false ,否则发布会失败, main 指定的是 import 我们的库时默认导入的文件

如果包的名字已经被其他人使用了,可以声明所有者信息来避免重名冲突。有两种方式来实现,第一种,手动修改 package.json ,将 name 修改为 @username/package-name 。第二种,推荐在新项目中使用, npm init –scope==username 。这个时候,发布包的命令也要进行修改

.npmignore

定义哪些文件在上传到npm时会被忽略。一般而言, examples 是包含测试的文件, packages 是源码, public 是一些静态文件,这些对库的使用者来说意义不大,可以不上传到npm

如果使用了第三方npm源,必须改回npm官方源

切换回官方源命令为 nrm use npm

登录

发布

取消发布

发布时遇到错误时可能是以下原因导致的:

安装

全局导入

使用组件

1、Vue cli简介:

Vue cli是一个基于Vue.js 进行快速开发的完整系统,Vue CLI 致力于将 Vue 生态中的工具基础标准化。它确保了各种构建工具能够基于智能的默认配置即可平稳衔接,这样你可以专注在撰写应用上,而不必花好几天去纠结配置的问题。与此同时,它也为每个工具提供了调整配置的灵活性,无需 eject。

cli(@vue/cli) 是一个全局安装的 npm 包,提供了终端里的 vue命令。它可以通过vue create快速搭建一个新项目,或者直接通过vue serve构建新想法的原型。你也可以通过vue ui通过一套图形化界面管理你的所有项目。

2、 Vue cli安装

npm install -g @vue/cli

安装之后,运行vue指令,遇到以下问题:由于公司内网执行策略限制,会禁止运行vue指令。

解决方案及步骤如下:

第一步:执行Set-ExecutionPolicy RemoteSigned更改执行策略。

第二步:如果没有权限更改全局的执行策略,加上-Scope CurrentUser后再次更改(Set-ExecutionPolicy RemoteSigned -Scope CurrentUser),并为ExecutionPolicy参数提供值为:RemoteSigned。

第三步:执行策略更改完成后,成功运行vue指令。

原创文章,作者:A8BFK,如若转载,请注明出处:https://www.506064.com/n/126268.html

相关推荐

  • 深入剖析vue-cli-service:notfound

    一、什么是vue-cli-service:notfound vue-cli-service:notfound是Vue.js官方的webpack构建工具vue-cli的一个模块。当我…

    编程 2025-01-02
  • Vue-cli-service build –mode详解

    一、模式概述 Vue-cli-service是一个基于webpack的项目脚手架,用于快速搭建Vue项目。在Vue-cli-service的build命令中,我们可以通过指定mod…

    编程 2025-04-22
  • Redis-cli命令详解

    Redis是一款开源的高性能非关系型内存数据库,Redis-cli是Redis的一个命令行工具,它允许用户连接到Redis实例并与之交互。Redis-cli提供了非常多的命令方便用…

    编程 2024-12-11
  • vuejs设计与实现电子版pdf,vuejs开发实战电子书

    本文目录一览: 1、vue.js权威指南 pdf在哪有下 2、vue中实现html页面导出word和pdf的办法 3、《Vue.js前端开发快速入门与专业应用》txt下载在线阅读全…

    编程 2024-12-12
  • vuejs如何使用css(vue怎么写js)

    本文目录一览: 1、vue.js怎么实现css样式表按需加载 2、Vue如何引入外链css和js 3、js中用cssText设置css样式的简单方法 4、09《Vue 入门教程》V…

    编程 2024-12-12
  • redis-cli连接redis数据库详解

    一、redis-cli的介绍 Redis是一种在内存中运行的数据存储系统,被广泛用于缓存、队列、记录等方面。Redis也提供一系列客户端工具,其中最为常用的是redis-cli。r…

    编程 2024-12-30
  • 查看Vue-cli版本教程

    Vue-cli是一个官方发布的用于快速构建Vue.js应用程序的命令行界面工具,它包含了搭建Vue.js项目所需的各种工具和配置,而且还可以根据需求来定制和配置。 一、使用npm查…

    编程 2025-01-01
  • Vue-cli官网详解

    Vue-cli是Vue.js的官方脚手架工具,提供了一套完整的前端开发解决方案。Vue-cli官网包含了足够的信息和文档,可以帮助开发者快速了解和上手Vue-cli的相关内容。本文…

    编程 2024-12-15
  • 深入了解CLI命令

    一、CLI命令行 CLI全称Command Line Interface,指的是通过命令行控制计算机的操作系统。它是操作系统提供给用户的一种接口,用户可以通过这个接口输入指令来控制…

    编程 2024-12-13
  • react-cli详解

    一、react-cli介绍 React-CLI是一个基于Webpack和Babel的React项目构建工具,提供了快速初始化项目,本地开发和打包发布等功能。其旨在简化React应用…

    编程 2024-12-12