当前位置: 首页 > news >正文

如何在一个 JavaScript 文件中引入另一个 JavaScript 文件

在早期版本的 JavaScript 中,没有提供原生的模块导入功能,因此开发者们尝试过各种不同的方法来解决这个问题。然而,自 2015 年 (ES6) 以来,JavaScript 引入了 ES6 模块标准,这使得在 Node.js 中导入模块变得更加规范。现代浏览器也广泛支持这一标准。

为了与旧版浏览器兼容,可以使用例如 Webpack 和 Rollup 这样的构建工具,或使用 Babel 这样的转译工具。

ES6 模块

自 Node.js v8.5 起,ECMAScript (ES6) 模块已经得到支持,当时需要使用 --experimental-modules 标志。而在至少 Node.js v13.8.0 之后,这一功能不再需要额外的标志。在 package.json 中使用 "type": "module" 或将文件扩展名更改为 .mjs,都可以启用 ESM(ES 模块)。

使用 package.json 配置模块类型

package.json 中添加如下配置:

{"type": "module"
}

然后在 module.js 文件中:

export function hello() {return "Hello";
}

main.js 文件中:

import { hello } from './module.js';
let val = hello();  // val 是 "Hello"

使用 .mjs 扩展名

若使用 .mjs 扩展名,在 module.mjs 文件中:

export function hello() {return "Hello";
}

main.mjs 文件中:

import { hello } from './module.mjs';
let val = hello

相关文章:

  • android11禁止进入屏保和自动休眠
  • 关于微信小程序低功耗蓝牙ECharts实时刷新(涉及自定义缓冲区)
  • 景源畅信电商:抖音开店步骤是什么?
  • 服装服饰商城小程序的作用是什么
  • 向npm发布自己写的vue组件,使用vite创建项目
  • 一个生动的例子——通过ERC20接口访问Tether合约
  • 继电器的选型和英应用
  • 【Linux系统】--- Linux内核日志等级详解
  • 【Python001】python批量下载、插入与读取Oracle中图片数据(已更新)
  • mysql中的内连接与外连接
  • 新火种AI|寻求合作伙伴,展开豪赌,推出神秘AI项目...苹果能否突破AI困境?
  • 【busybox记录】【shell指令】mkdir
  • K8s service 进阶
  • windows 执行node报错 800A1391
  • 技术架构设计指南:从需求到实现
  • Brief introduction of how to 'Call, Apply and Bind'
  • const let
  • eclipse(luna)创建web工程
  • Java精华积累:初学者都应该搞懂的问题
  • java取消线程实例
  • Netty 框架总结「ChannelHandler 及 EventLoop」
  • Nodejs和JavaWeb协助开发
  • rc-form之最单纯情况
  • React-flux杂记
  • spring cloud gateway 源码解析(4)跨域问题处理
  • vue+element后台管理系统,从后端获取路由表,并正常渲染
  • Wamp集成环境 添加PHP的新版本
  • windows下使用nginx调试简介
  • Zepto.js源码学习之二
  • 快速构建spring-cloud+sleuth+rabbit+ zipkin+es+kibana+grafana日志跟踪平台
  • 配置 PM2 实现代码自动发布
  • 前端_面试
  • 前端性能优化——回流与重绘
  • 如何使用 OAuth 2.0 将 LinkedIn 集成入 iOS 应用
  • 微信支付JSAPI,实测!终极方案
  • 线性表及其算法(java实现)
  • 责任链模式的两种实现
  • Redis4.x新特性 -- 萌萌的MEMORY DOCTOR
  • 翻译 | The Principles of OOD 面向对象设计原则
  • ​LeetCode解法汇总1276. 不浪费原料的汉堡制作方案
  • ​LeetCode解法汇总2182. 构造限制重复的字符串
  • # include “ “ 和 # include < >两者的区别
  • #LLM入门|Prompt#1.7_文本拓展_Expanding
  • %@ page import=%的用法
  • (14)目标检测_SSD训练代码基于pytorch搭建代码
  • (MATLAB)第五章-矩阵运算
  • (ZT)薛涌:谈贫说富
  • (一)使用IDEA创建Maven项目和Maven使用入门(配图详解)
  • (转)原始图像数据和PDF中的图像数据
  • ****** 二 ******、软设笔记【数据结构】-KMP算法、树、二叉树
  • ***测试-HTTP方法
  • .form文件_SSM框架文件上传篇
  • .libPaths()设置包加载目录
  • .NET 读取 JSON格式的数据
  • .NET连接数据库方式