import按条件导入

import命令会被 JavaScript 引擎静态分析,先于模块内的其他语句执行

if (condition) { // 报错
  import moduleA from './moduleA';
}

import()函数
import()函数,支持动态加载模块,返回一个 Promise 对象。
import()加载模块成功以后,这个模块会作为一个对象,当作then方法的参数。

import('./moduleA .js')
.then(moduleA => {
  console.log(moduleA);
});

按条件导入
import()函数可以放在if代码中

if(condition){
 import('moduleA').then(...);
}

扩展

JavaScript中,`require`和`import`都是用于导入模块的方法,但它们有一些不同之处: 1. **语法**: - `require`是CommonJS模块化规范的一部分,语法如下: ```javascript const module = require('module-name'); ``` - `import`是ES6模块化规范的一部分,语法如下: ```javascript import module from 'module-name'; ``` 2. **使用环境**: - `require`主要用于Node.js环境,适用于服务器端开发。 - `import`是ES6标准的一部分,适用于现代浏览器和一些支持ES6模块的工具(如Webpack、Babel)。 3. **动态与静态**: - `require`是动态的,可以在代码的任何地方使用,甚至在条件语句中: ```javascript if (condition) { const module = require('module-name'); } ``` - `import`是静态的,必须在文件的最顶部使用,且不支持在条件语句中导入: ```javascript import module from 'module-name'; ``` 4. **加载时机**: - `require`是运行时加载,即在代码执行到`require`语句时才加载模块。 - `import`是编译时加载,即在代码编译阶段就确定模块的依赖关系。 5. **导出方式**: - `require`对应的导出方式是`module.exports`或`exports`: ```javascript // module.js module.exports = { foo: 'bar' }; // main.js const module = require('./module'); console.log(module.foo); // 'bar' ``` - `import`对应的导出方式是`export`或`export default`: ```javascript // module.js export const foo = 'bar'; // main.js import { foo } from './module'; console.log(foo); // 'bar' ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值