Bootstrap

【JS】import 、import() 与 @import 的区别

import 、import() 与 @import 的区别

import

import xx from '...' 是一种导入方式,是es6模块化的新语法,必须要写到js文件的最上面;

可以用来导入 静态资源(图片、文档)的路径,也可以导入 js、vue文件。

import()

import('...') 是 import() 函数,主要作用是实现动态加载模块,可以写到任意位置,代码运行到该语句才会加载该模块,它返回一个promise对象;

只能导入js 或者 vue模块,不能导入静态资源!


// 默认导入 导入的变量名是 myModule
import('./myModule.js').then(myModule=> {
    console.log(myModule.default);
});
​
// 或者是在vue-router中引入路由组件(非常好用!)
routes= [
    {
        path: '/404',
        component: () =>import('@/views/404'),
    }
]

注意: import() 里面的path不能使用 @ 这些路径别名,可以这样写 /src/assets/img/xxx.png 

@import

@import 'xxx' 是css的语法,虽然和 import长得很像,但是它们之间没有任何关系,通过@import 可以在一个css文件中引入另一个css文件(比如字体图标)


@import'./icon.less';  // 必须要写分号!!!

;