Vue 源码分析——构造函数原型
在执行 npm run dev 的时候 根据script/config.js 文件中的配置
'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',最终输出为'dist/vue.js',
有一个umd 模块,模块的类型总共有(iife amd cmd cjs umd es6)
在script 文件下的 alias.js 是别名配置文件。
module.exports = { vue: resolve('src/platforms/web/entry-runtime-with-compiler'), compiler: resolve('src/compiler'), core: resolve('src/core'), shared: resolve('src/shared'), web: resolve('src/platforms/web'), weex: resolve('src/platforms/weex'), server: resolve('src/server'), entries: resolve('src/entries'), sfc: resolve('src/sfc') }
例如:web: resolve('src/platforms/web') web 指向 'src/platforms/web' 路径
打开 src/platforms/web/entry-runtime-with-compiler.js
会发现 import Vue from './runtime/index' 这个文件的 Vue 是从
'./runtime/index' 导入来的,接下来打开 runtime 目录下的 index.js