欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 产业 > 在ES6模块中导入和导出

在ES6模块中导入和导出

2025/5/15 21:56:45 来源:https://blog.csdn.net/weixin_42952508/article/details/145111685  浏览:    关键词:在ES6模块中导入和导出

在ES6模块中导入和导出

  • 以最简单的例子举例
//shoppingCart.js
//导出模块
console.log('导出模块');//script.js
//导出模块
import './shoppingCart.js';
console.log('导入模块');

在这里插入图片描述

  • 所以要导入其他模块必须指定类型
 <script type="Modules" defer src="script.js"></script>

在这里插入图片描述

注:这个输出说明了,导入模块会在所有执行代码之前;

  • 现在我们在shoppingCart中添加一些代码
const shoppingCart = 10;
const cart = [];const addToCart = function (product, quantity) {cart.push({ product, quantity });console.log(`${quantity} ${product} 被添加到购物车中`);
};
  • 注意上面的函数只能在本域使用,如果想要其他模块使用的话,需要加上export参数
export const addToCart = function (product, quantity) {cart.push({ product, quantity });console.log(`${quantity} ${product} 被添加到购物车中`);
};
  • 之后,我们就可以在script.js中去引入并调用这个函数
import { addToCart } from './shoppingCart.js';
console.log('导入模块');addToCart('面包', 5);

在这里插入图片描述

  • 我们也可以将我们所需要的变量进行导出
const totalPrice = 237;
const totalQuantity = 23;export { totalPrice, totalQuantity };
import { addToCart, totalPrice, totalQuantity } from './shoppingCart.js';
console.log('导入模块');addToCart('面包', 5);console.log(totalPrice, totalQuantity);

在这里插入图片描述

  • 我们可以在导入或者导出的时候更改变量名字
//导出模块
console.log('导出模块');const shoppingCart = 10;
const cart = [];export const addToCart = function (product, quantity) {cart.push({ product, quantity });console.log(`${quantity}元的 ${product} 被添加到购物车中`);
};const totalPrice = 237;
const totalQuantity = 23;export { totalPrice, totalQuantity as qt };
import { addToCart, totalPrice as Price, qt } from './shoppingCart.js';
console.log('导入模块');addToCart('面包', 5);console.log(Price, qt);

在这里插入图片描述

  • 也可以导入模块中所有命名导出的内容
import * as ShoppingCart from './shoppingCart.js';
ShoppingCart.addToCart('面包', 5);
console.log(ShoppingCart.totalPrice);

在这里插入图片描述

  • 可以使用默认导出
export default function (product, quantity) {cart.push({ product, quantity });console.log(`${quantity} ${product}添加至购物车中`);
}
import add from './shoppingCart.js';
add('披萨', 2);

在这里插入图片描述

  • 在看一下下面的代码
//ShoppingCart.js
export const cart = [];
//script.js
import add, { cart } from './shoppingCart.js';
add('披萨', 2);
add('苹果', 2);
add('香蕉', 2);
console.log(cart);

在这里插入图片描述

这个例子也验证了一点,导入导出并不是创建副本的形式,他们是有实时联系的;所以这里查询的并不是原始的空数组;

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词