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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
A8BFKA8BFK
上一篇 2024-10-03 23:07
下一篇 2024-10-03 23:07

相关推荐

  • Vue-cli-service build –mode详解

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

    编程 2025-04-22
  • Vue CLI官网详解

    一、Vue CLI概述 Vue CLI(命令行界面)是一个基于Vue.js的标准化工具,通过Vue CLI你可以快速构建一个Vue项目,并且实现自定义配置、插件安装等功能。Vue …

    编程 2025-04-12
  • Vue-cli版本查看

    一、介绍 Vue-cli是Vue.js官方提供的一个脚手架,可帮助我们快速搭建Vue.js开发环境,自动生成Vue项目目录,并集成了常用的开发工具,如Webpack、Babel、E…

    编程 2025-02-01
  • Vue CLI 3 安装介绍

    Vue CLI 3 是一个实现自动化的 Vue.js 项目工具,它为 Vue.js 开发提供了丰富有用的功能,可以快速初始化项目或者配置各种插件等功能。Vue CLI 3 使用了 …

    编程 2025-01-20
  • 但在cli用php(Cli命令)

    本文目录一览: 1、linux php怎么在cli模式下执行命令 2、PHP如何在CLI模式下使用CURL库 3、怎样让 php 在 cli 与 fpm 环境下运行时加载不同的扩展…

    编程 2025-01-13
  • VueSetup: 让VueJS开发更加高效简单

    VueJS是一种流行的前端框架,使得Web开发更加容易和高效。在Vue 3中,VueSetup是一个新的语法糖,它引入了一种新的方法来组织和编写Vue代码。VueSetup通过其强…

    编程 2025-01-13
  • 扫码中国 – https://cli.im/

    一、无需下载APP,直接扫二维码 扫码中国是一款线上二维码生成工具,https://cli.im/ 是该工具的官方网站,该工具无需下载APP即可在线生成个性化二维码。通过该工具,用…

    编程 2025-01-13
  • Vuenginx:让 VueJS 和 Nginx 飞起来的全能 web 应用服务器

    Vuenginx 是一款基于 Nginx 和 LuaJIT 的全能 web 应用服务器,它允许你直接将 VueJS 代码打包成 Nginx 模块,并在 Nginx 中直接执行。Vu…

    编程 2025-01-09
  • vuejs前端框架制作网页(web前端框架vue)

    本文目录一览: 1、vue框架是干什么的 2、号称目前最火的前端框架Vue,它有什么显著特点呢? 3、bootstrap+vue.js做前端框架的特点 vue框架是干什么的 Vue…

    编程 2025-01-09
  • Vue-cli-service Build详解

    一、安装并使用vue-cli-service build Vue-cli-service build是一个基于webpack构建的命令行工具,用于将Vue应用程序编译为静态文件。使…

    编程 2025-01-05

发表回复

登录后才能评论