前言
本文翻译自rollup.js。
插件上下文
很多的实用的函数和信息流可以通过this在所有的hooks中流通。
1 | this.emitAsset(assetName: string, source: string) => void |
不忘初心,方得始终
本文翻译自rollup.js。
一个Rollup插件是一个导出了一个函数的包,这个函数返回了一个对象,这个对象中有下面介绍的属性和钩子,这些属性和钩子遵循特定的规范。
下面的这个插件将会拦截导入的”virtual-module”模块,它甚至可以用来替换”virtual-module”模块在所有的入口点中的替换成的结果,如下所示
rollup-plugin-my-example.js
1 | export default function myExample () { |
一、RFC是啥?
“RFC”(request for comments) 请求评议,目的是为新功能进入框架提供一致且受控的路径。很多变化,包括bug修复和文档说明的更进可以在日常的GayHub工作流中实施和评估。但是有些实质性的变化,我们要求这些变化经历一个设计过程,并且在Vue核心团队和社区中一致通过。
二、RFC生命周期
一个RFC会经历以下阶段:
Pending:这个RFC被作为一个PR(pull request)被提交。
Active:这个RFC被合并并且正在实施。
Landed:这个RFC提出的更改在实际版本中被发布。
Rejected:这个RFC的PR没被否决。
more >>虽然ts最终需要编译成js,但是在开发过程中还是需要严格去遵循ts的机制,尽量避免anyscript
和ts-ignore
。在ts和js的选择上还是需要看项目的复杂程度,在项目的程度上去选择ts,否则只会适得其反的效果。
TypeScript是微软开发的一个开源的编程语言,通过在JavaScript的基础上添加静态类型定义构建而成。
more >>中文文档: https://www.tslang.cn/docs
English Doc: https://www.typescriptlang.org/docs/
以下内容均在vue中使用,原理和webpack同理
cross-env
是一个广受环境可以获取npm脚本中写好的参数,但是这样在项目中只能获取固定的,下面是这个库的一些使用方法
1 | yarn add cross-env -D |
vue-next
仓库源码
克隆下来之后yarn install
安装依赖,这里推荐webstorm
进行运行调试,查看packages/runtime-core
文件夹
packages/runtime-core/__tests__/apiCreateApp.spec.ts
调试单测文件,
跳转到packages/runtime-core/src/renderer.ts
文件
不要让自己的上限成为你的底线
本来以为有万字的。。没想到才堪堪近6000字。为了水文的嫌疑,只挑了重点的地方讲,比如component
内的组件就挑了右键弹窗去说明
,建议在看本文的时候边查看项目,有不懂的可以在下方评论,谢谢。
github
github: https://github.com/heiyehk/electron-vue3-inote
包下载
release: https://github.com/heiyehk/electron-vue3-inote/releases
接上篇配置篇 【electron+vue3+ts实战便笺exe】一、搭建框架配置,这里更新了一下vue3的版本3.0.4
,本篇文章只讲开发内容,主要还是vue3
方面,长文警告。ps:smartblue这个主题好好看。。。
tag:
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content
--save
3、在根目录_config.yml里添加配置:
jsonContent: meta: false pages: false posts: title: true date: true path: true text: false raw: false content: false slug: false updated: false comments: false link: false permalink: false excerpt: false categories: false tags: true