vue源码 - 入口文件

资源

各种进阶资源 + 联系方式请看下方链接
资源

package.json

package.json

  • 执行npm run dev 的时候在 rollup 后面传入了 scripts/config.js配置文件
  • TARGET 后面的值是打包的版本,web是代表web平台下,full是完整版,dev开发版不对代码进行压缩

scripts/config.js

  • config.js是一个基于node的模块,所以看这块的代码需要对node有所了解。某块的话一般会在末尾导出成员,看下代码看在末尾导出了哪些成员
  • if (process.env.TARGET) { module.exports = genConfig(process.env.TARGET) } else { exports.getBuild = genConfig exports.getAllBuilds = () => Object.keys(builds).map(genConfig) }
  • 可以看到当执行npm run dev的时候是有TARGET参数的,那么就会执行 genConfig(process.env.TARGET)这个函数。
  • genConfig函数中首先有这样一句代码const opts = builds[name]这个builds是写好的一个配置文件,可根据传入的TARGET的值来获取对应的一个配置。可以看到获取的配置如下在这里插入图片描述
    在这里插入图片描述
  • 所以npm run dev的时候entry(入口)是src/platforms/web/entry-runtime-with-compiler.js

入口文件(src/platforms/web/entry-runtime-with-compiler.js)

  • 带着问题来看源码,通过阅读入口文件源码来总结下当new vue的时候template 和 render函数都有的时候页面会输出哪个?
    在这里插入图片描述
    在这里插入图片描述
  • 通过源码我们可以看出 当new vue的时候如果同时传入了render函数和template模板的话,是会渲染render函数而不会执行把template模板转为render函数的逻辑的
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值