如何在Node.js中无需安装npm包即可使用Lodash?
问题分析与解决方法
你的引入失败核心是没根据运行环境选对引入方式,分场景说明:
1. Node.js 本地项目环境
不管用CommonJS还是ES模块,必须先安装lodash依赖:
npm install lodash
- CommonJS(Node.js默认模式,package.json无
"type": "module"):const _ = require('lodash'); - ES模块(package.json添加
"type": "module"):import _ from 'lodash';
你写的这两种语法本身没问题,但如果没执行安装命令,Node.js找不到依赖包必然报错。
2. 浏览器原生环境
浏览器不支持直接用require,裸import也需要特定条件:
- 最简单的方式是用script标签引入UMD格式CDN:
引入后全局变量<script src="https://cdn.jsdelivr.net/npm/lodash@4.17.15/lodash.min.js"></script>_可直接使用。 - 如果想用ES模块的import语法,需要用lodash的ES模块版本CDN,同时给script标签加
type="module":<script type="module"> import _ from 'https://cdn.jsdelivr.net/npm/lodash-es@4.17.15/lodash.min.js'; // 此处可正常使用_ </script>
你之前直接在JS里写import _ from 'https://cdn.jsdelivr.net/npm/lodash@4.17.15/lodash.min.js';,如果没包裹在type="module"的script标签里,浏览器会按普通脚本解析,直接报错。
常见误区
- 不要在同一个文件里混合用CommonJS和ES模块语法(同时写require和import),Node.js会直接报错。
- 普通lodash的CDN包是UMD格式,不是ES模块,直接用import引入会因导出格式不匹配失败,必须用lodash-es版本。
内容的提问来源于stack exchange,提问作者absolutely not the the
相关产品推荐
相关产品推荐

