我已经下载了node-js,并且正在文件夹内使用npm。我已经下载了 lodash 程序包作为依赖项,它位于节点模块文件夹中。
但是当我尝试使用 require()使用它时,它在控制台中给出了上述错误,并建议通过vs代码使用 ES6模块化 e,require是 common.js
的模块我有一个package.json文件,并且lodash被列为依赖项。我可以使用节点服务器在命令行中运行lodash,但不能在浏览器中运行
除了 node-js 之外,是否还需要安装其他软件包才能运行require()函数? 我究竟做错了什么? 我在Windows上并使用最新版本的node和npm 让a = require('lodash');
答案 0 :(得分:2)
如果VSCode建议您使用ES6模块,则您可能已在项目中打开了ES6模块支持,这将覆盖Node对CommonJS模块的默认支持。
使用
import lodash from 'lodash';
代替要求。
重新编辑:
我可以使用节点服务器在命令行中运行lodash,但不能在浏览器中运行
是的。如果您运行旨在在Node.js中的Node.js中工作的程序,那么它将起作用。如果您在浏览器中运行相同的程序,则它将无法运行。仅将Node.js安装在某处并不能将浏览器变成Node.js。
如果要在浏览器中使用ES6模块,则:
import lodash from "./url/to/lodash.js";
,因为浏览器不支持解析npm路径。如果该模块不是为了在浏览器中运行而设计的,那么您也许可以使用Webpack之类的工具将其捆绑在一起,以一种可行的方式进行(但该模块中不起作用取决于所提供的API由Node.js提供,例如fs
。
答案 1 :(得分:-1)
您可以使用express框架在NODE js上工作
let express = require('express');