如何在Node.js REPL及命令行脚本中用require/import加载npm包?
在Node.js中加载npm包的方法(REPL与命令行脚本场景)
一、Node.js REPL会话中加载npm包
1. 使用require()方式
直接在REPL提示符下执行require语句即可,无需额外配置:
const _ = require('lodash'); // 验证加载成功:调用包的方法 _.chunk([1,2,3,4], 2); // 输出 [[1,2], [3,4]]
如果是全局安装的包,确保Node.js的模块搜索路径包含全局包目录,可通过require.resolve('包名')检查路径是否有效。
2. 使用import方式
Node.js REPL默认不支持顶级await,需启动REPL时添加--experimental-repl-await参数以支持异步导入:
node --experimental-repl-await
进入REPL后执行导入语句:
// 默认导入 import _ from 'lodash'; // 按需导入 import { chunk } from 'lodash'; // 验证 chunk([1,2,3,4], 2); // 输出 [[1,2], [3,4]]
CommonJS格式的npm包也可通过import正常加载,Node.js会自动兼容处理。
二、Node.js命令行脚本中加载npm包
1. 使用require()方式(CommonJS脚本)
- 先通过npm安装目标包:
npm install lodash # 本地安装(推荐) # 或全局安装:npm install -g lodash
- 在
.js脚本中编写代码:
// script.js const _ = require('lodash'); console.log(_.chunk([1,2,3,4], 2));
- 运行脚本:
node script.js
2. 使用import方式(ES模块脚本)
有两种方式启用ES模块支持:
方式一:使用.mjs后缀
- 脚本文件命名为
script.mjs:
// script.mjs import _ from 'lodash'; console.log(_.chunk([1,2,3,4], 2));
- 运行脚本:
node script.mjs
方式二:配置package.json启用ES模块
- 在项目根目录的
package.json中添加"type": "module"字段:
{ "type": "module" }
- 编写
.js后缀的脚本:
// script.js import { chunk } from 'lodash'; console.log(chunk([1,2,3,4], 2));
- 运行脚本:
node script.js
内容的提问来源于stack exchange,提问作者SRobertJames
相关产品推荐
相关产品推荐

