import react from 'react' / import vue form 'vue' 是怎么实现的

import vue from 'vue'

后面的这个'vue'是node_modules下的包名, 但是从这个包中找到
并自动引用到dist/vue.js这一步是怎么做到的,是由webpack做到的还是由esmodule规范指定的?

阅读 4.1k
6 个回答

这是node模块系统的约定,而webpack这类的打包工具也遵循这一约定。

import 的时候 如果不使用相对路径或者绝对路径,node默认会去node_modules/文件夹下去找,
至于引用的js node_module/vue/package.json文件

{
    ...
    "main": "dist/vue.runtime.common.js" // main指定入口文件
    ...
}
  1. nodejsimport目前只支持.mjs
  2. package.jsonscript可知npm run dev运行了node build/dev-server.js命令,从dev-server.js代码可以看出是用了webpackConfig,从webpack.base.conf配置可以看到resolveLoader定义了node_modules目录,因此会找node_modules目录的vue包,至于vue包里的哪个文件就在vue自身的package.json上声明,这部分才属于nodejs
  3. 2用的是带webpack创建的项目,vue本身还有不带webpack创建的项目,推导逻辑是一样的,自己看吧。

是在package.json中的入口main中写好的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题