2024年前端最新Vue源码分析之Vue入口文件_vue打包后的入口文件是哪个,灵魂拷问

最后

javascript是前端必要掌握的真正算得上是编程语言的语言,学会灵活运用javascript,将对以后学习工作有非常大的帮助。掌握它最重要的首先是学习好基础知识,而后通过不断的实战来提升我们的编程技巧和逻辑思维。这一块学习是持续的,直到我们真正掌握它并且能够灵活运用它。如果最开始学习一两遍之后,发现暂时没有提升的空间,我们可以暂时放一放。继续下面的学习,javascript贯穿我们前端工作中,在之后的学习实现里也会遇到和锻炼到。真正学习起来并不难理解,关键是灵活运用。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

css源码pdf

JavaScript知识点

//Flow 检查上述代码后会报错,因为函数期待的参数是数字,而我们输入了字符串

// 类型注释
// @flow
function square(n: number): number {

return n * n;
}
square(“2”); // Error!
//添加类型注释,现在 Flow 就能检查出错误,因为函数参数的期待类型为数字,而我们提供了字符串。


#### 1.2 Vue.js源码目录


###### Vue.js 的源码都在 src 目录下,其目录结构如下:



src
├── compiler # 编译相关
├── core # 核心代码
├── platforms # 不同平台的支持
├── server # 服务端渲染
├── sfc # .vue 文件解析
├── shared # 共享代码


###### compiler


compiler 目录包含 Vue.js 所有编译相关的代码。它包括把模板解析成 ast 语法树,ast 语法树优化,代码生成等功能。


###### core


core 目录包含了 Vue.js 的核心代码,包括内置组件、全局 API 封装,Vue 实例化、观察者、虚拟 DOM、工具函数等等。


###### platforms


Vue.js 是一个跨平台的 MVVM 框架,它可以跑在 web 上,也可以配合 weex 跑在 native 客户端上。platform 是 Vue.js 的入口,2 个目录代表 2 个主要入口,分别打包成运行在 web 上和 weex 上的 Vue.js。  
 这里重点分析一下web入口打包后的Vue.js。


###### server


所有服务端渲染相关的逻辑都在这个目录下。


###### sfc


通常我们开发 Vue.js 都会借助 webpack 构建, 然后通过 .vue 单文件来编写组件。  
 这个目录下的代码逻辑会把 .vue 文件内容解析成一个 JavaScript 的对象。


###### shared


Vue.js定义的一些工具方法都放在这个目录下。


#### 1.3 Vue.js构建方式


Vue.js 源码是是众多module(模块)基于 [Rollup](https://bbs.csdn.net/topics/618166371) 构建的,它的构建相关配置都在 scripts 目录下。  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201010135729691.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NvbWUwYWNyb3Nz,size_16,color_FFFFFF,t_70#pic_center)  
 在vue.js源码其实位置可以看到



“scripts”: {

...
"dev": "rollup -w -c scripts/config.js --environment TARGET:web-full-dev",
...

}


我们从vue源码的scripts/config.js文件中找到 TARGET:web-full-dev



‘web-full-dev’: {

entry: resolve('web/entry-runtime-with-compiler.js'),
dest: resolve('dist/vue.js'),
format: 'umd',
env: 'development',
alias: {

he: ‘./entity-decoder’ },
banner
}


找到了开始文件就是 “web/entry-runtime-with-compiler.js”


#### 1.4 Vue.js入口


### HTTP

* HTTP 报文结构是怎样的?

* HTTP有哪些请求方法?

* GET 和 POST 有什么区别?

* 如何理解 URI?

* 如何理解 HTTP 状态码?

* 简要概括一下 HTTP 的特点?HTTP 有哪些缺点?

* 对 Accept 系列字段了解多少?

* 对于定长和不定长的数据,HTTP 是怎么传输的?

* HTTP 如何处理大文件的传输?

* HTTP 中如何处理表单数据的提交?

* HTTP1.1 如何解决 HTTP 的队头阻塞问题?

* 对 Cookie 了解多少?

* 如何理解 HTTP 代理?

* 如何理解 HTTP 缓存及缓存代理?

* 为什么产生代理缓存?

* 源服务器的缓存控制

* 客户端的缓存控制

* 什么是跨域?浏览器如何拦截响应?如何解决?  

  **[开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】](https://bbs.csdn.net/topics/618166371)**

![](https://img-blog.csdnimg.cn/img_convert/3a28cc7b978db5d78ce5f1c5ec78122b.png)


享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】](https://bbs.csdn.net/topics/618166371)**

![](https://img-blog.csdnimg.cn/img_convert/3a28cc7b978db5d78ce5f1c5ec78122b.png)


  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值