node 环境下一个文件如何同时支持 import 和 require

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了node 环境下一个文件如何同时支持 import 和 require相关的知识,希望对你有一定的参考价值。

参考技术A

JavaScript 现在有两种模块。一种是 ES6 模块,简称 ESM;另一种是 CommonJS 模块,简称 CJS。
CommonJS 模块是 Node.js 专用的,与 ES6 模块不兼容。语法上面,两者最明显的差异是,CommonJS 模块使用require()和module.exports,ES6 模块使用import和export。
ES6 模块的设计思想是尽量的静态化,使得编译时就能确定模块的依赖关系,以及输入和输出的变量。CommonJS 和 AMD 模块,都只能在运行时确定这些东西。
如何让require 和 import在同一文件中使用

如果这时还要使用 CommonJS 模块,那么需要将 CommonJS 脚本的后缀名都改成.cjs。则.js脚本会被解释成 CommonJS 模块。

Node.js 要求 ES6 模块采用.mjs后缀文件名。也就是说,只要脚本文件里面使用import或者export命令,那么就必须采用.mjs后缀名。Node.js 遇到.mjs文件,就认为它是 ES6 模块,默认启用严格模式,不必在每个模块文件顶部指定"use strict"。

以上是关于node 环境下一个文件如何同时支持 import 和 require的主要内容,如果未能解决你的问题,请参考以下文章

编写浏览器和Node.js通用的JavaScript模块

Android系统编译环境初始化时Product产品的import-nodes过程

Folk博客程序——可以运行于node环境和asp环境的博客系统

如何在 node.js + Express 中同时支持 json 和 jsonp 响应?

JAVA中,如何import自己写的类文件?

Node18 支持 import HTTP资源