import Vue from 'vue'如何解释?

首先看以下代码

1 import Vue from 'vue';
2 import App from './App';
3 import router from './router';

可能会有疑问,vue去哪里找?其实上面的代码等同于

1 import Vue from "../node_modules/vue/dist/vue.js";
2 import App from './App.vue';
3 import router from './router.js';

总结:

1.import...from...的from命令后面可以跟很多路径格式,若只给出vue这样的包名,则会自动到node_modules中加载;若给出相对路径及文件前缀,则到指定位置寻找。
2.可以加载各种各样的文件:.js、.vue、.less等等。
3.可以省略掉from直接引入。

不过我的目录结构是这样的(只有router文件夹,没有route.js)

import router from './router'; 这个不是vue的规定而是node加载模块的方式,当require('./router')(import会被转为require),node是这样的寻找目标的:
1.首先寻找目录下有没有router.js或者router.node,如果有就导入
2.如果没有看是否有router目录,如果没有就require失败,抛出异常"Cannot find module './router'"
3.如果有router目录会在其下寻找package.json文件,如果有则按照package的配置来导入
4.如果没有package.json,看是否有index.js或者index.node,如果有就导入没有就失败
原文地址:https://www.cnblogs.com/ludadong/p/12582495.html