在node项目中支持ES Module

本文档介绍了在Node.js项目中支持ES模块的两种方法。首先,通过使用webpack进行构建,解决低版本Node对ES模块的兼容问题,涉及webpack配置、Babel转换等步骤。其次,介绍了直接利用Node原生支持ES模块的方法,包括修改文件扩展名和调整执行方式。最终成功实现了在不同环境下运行含有ES模块的Node项目。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、node环境

nodejs :16.18.1

二、使用npm 初始化一个简单的脚手架项目

1、创建一个项目目录 igly-test-esmodule

mkdir igly-test-esmodule

2、初始化igly-test-esmodule 项目

npm init

3、创建一个bin目录

4、在bin 目录下创建一个 index.js 文件

5、在package.json文件中添加一个bin的入口配置

6、在index.js 打印一句话测试

三、不支持 ES module 的现象 复现

  • 创建 utils.js 文件
module.exports = function() {
	console.log("hello utils");
}
  • 在 bin/index.js 入口 文件中 引入 utils js 文件;
#! /usr/bin/env node

import utils from "./utils";
utils();
  • 执行脚手架
igly-test-esmodule
  • 报错

四、如何支持 ES module

4.1 方法1:使用webpack 模式;

第一阶段:使项目中 ES module 能构建成功

  • 安装 webpack;
npm i -D webpack webpack-cli
  • 在 根目录下创建 webpack.config.js
const path = require("path");

module.exports = {
    entry: "./bin/core.js",
    output: {
        path: path.join(__dirname, "/dist"),
        filename: "core.js"
    },
}
  • 创建 core.js
import utils from "./utils";
utils();
  • 修改 index.js
#! /usr/bin/env node
require("./core.js")
  • 在 package.json 中 创建 一个 scripts 的命令
{
// ...省略
  "scripts": {
    "build": "webpack",
    "dev": "webpack -w"
  },
// ...省略
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值