使用 Origin.js CLI 搭建一个 Vue 3 + Vite 项目

1,978 阅读5分钟

介绍

文档 | 项目仓库

Origin.js 于2021年11月17日发布了 1.0.0 版本,它集成了实用的插件和开发工具,支持如下特性,使得编码和开发更加容易:

同时,Origin.js 提供了项目脚手架,让我们能够轻松搭建 Origin.js 项目,并使用这些特性。

安装 CLI

Origin.js CLI 在 Node.js 环境下运行(请保证已完成 Node.js 环境配置),可以使用 npm 安装:

npm install -g @originjs/cli

或者使用 yarn 安装:

yarn global add @originjs/cli

初始化项目

安装成功之后,我们使用 Origin.js CLI 创建一个名称为my-app的项目:

ori init my-app

命令行弹出如下提示,让你配置项目的版本号、证书和使用的 Vite 插件。你可以通过手动输入进行自定义配置,也可以直接按回车键使用默认配置。

在这里我们前两项使用默认配置,选择引入除了ModuleFederation以外的所有插件(关于 Module Federation 请查看文档)。

屏幕截图 2021-12-18 165510.png

CLI 将创建my-app文件夹,基于 Vue 3 初始化目录文件,并安装依赖。初始化完成后的项目目录如下图所示:

屏幕截图 2021-12-18 170315.png

查看 package.jsonvite.config.tssrc/main.ts 文件,可以看到我们刚刚选择的插件已经配置完成,并且默认引入了 vuexvue-i18n 插件。

屏幕截图 2021-12-18 170358 - 副本.png

屏幕截图 2021-12-18 170436 - 副本.png

屏幕截图 2021-12-18 170541 - 副本.png

注意我们没有使用 vue-router 插件,项目中 pages 目录下的文件会自动生成路径配置。

启动项目

进入项目根目录,输入指令启动 Server:

cd my-app
npm run dev

目前 Origin.js 基于 Vite 打包和启动项目,控制台输出以下内容,说明 Vite Server 已经成功启动。

屏幕截图 2021-12-18 165602.png

并且浏览器会打开一个页面,展示项目内容(如果没有,在浏览器中输入控制台Local后的地址),按照图中的说明,就可以试用我们刚才所配置的 Vite 插件的效果。

屏幕截图 2021-12-18 165622 - 副本.png

如需构建项目,运行以下指令即可:

npm run build

特性

在初始化项目时,我们选择引入了其中的 5 个插件。Origin.js CLI 共提供了 6 个 Vite 插件,它们配合项目目录运作,你也可以通过手动引入的方式在任意 Vite 项目中使用它们。

assets

assets 目录用来存放项目使用到的资源,同时 vite-plugin-global-style 插件支持自动引入该目录下以 global- 开头命名的样式文件作为全局样式,并且支持 CSSSASSLESSStylus

例如初始化项目中的 global-theme.css 文件里定义了 darklight 样式,点击运行页面上的 dark mode 按钮时,便切换到了 dark 样式。

屏幕截图 2021-12-18 170716 - 副本.png

你可以尝试修改这个样式文件,或者创建你自己的样式文件。

关于插件的更多配置请查看文档

components

components 目录下存放你的自定义组件。当项目引入了 unplugin-vue-components 插件时,该目录下的组件会自动引入,无需 import 就可以自由使用。

感谢 antfu 提供该插件,更多配置请查看文档

layouts & pages

vite-plugin-pages 插件为 pages 目录中的 Vue 组件自动生成路由配置,同时支持布局。

例如在 pages 目录下创建一个新的文件 test.vue,然后在浏览器的地址最后输入 /test,就可以看到我们刚刚创建的新页面了,省去了配置路径的繁琐步骤!

屏幕截图 2021-12-18 171034.png

屏幕截图 2021-12-18 171020 - 副本.png

layouts 目录下的文件也会被作为布局组件自动引入。想要在一个组件中使用布局组件,只需在那个组件的最后添加如下定义:

<layout>
layout: layoutName
</layout>

查看 pages 目录下的文件,也可以看到 layouts 文件是如何被引用的。

关于插件的更多配置请查看文档

content

vite-plugin-content 插件支持将 yamlxmlxlsxinitomlcsvplistproperties 文件转换成 ES6 modules

例如在 src/pages/content.vue 文件中,可以看到直接引入了 yaml 文件并作为一个 js 对象使用:

image.png

关于插件的更多配置请查看文档

markdown

vite-plugin-md 插件支持在页面中加载 Markdown 文件。

例如在 src/pages/markdown.vue 文件中,可以看到直接引入了 markdown 文件并作为一个 Vue 组件使用:

image.png

感谢 antfu 提供该插件,更多配置请查看文档

module federation

vite-plugin-federation 插件支持在当前应用中加载远程模块。

关于插件的更多配置请查看文档

升级工具

此外,Origin.js CLI 支持使用指令对你的 Vue2 项目迁移到 Vue3,或者将你的 Webpack 项目一键转换为 Vite 项目。

具体的使用方法请查看文档

结语

总而言之,Origin.js 是一个简单而强大的 Web 应用框架,提供一套基于 Vue.js 的完整 Web 项目解决方案,让开发者更加专注于业务逻辑的开发。

Origin.js 是一个开源项目,如在使用中遇到问题,可以在 Github 社区中向作者反馈,也欢迎各位优秀的开发者提交 PR 贡献,更多特性等你来发掘~