簡體   English   中英

未捕獲的 ReferenceError:require 未定義?

[英]Uncaught ReferenceError: require is not defined?

我已經下載了 node-js,並且在文件夾中使用了 npm。 我已經下載了lodash包作為依賴項,它位於節點模塊文件夾中。

但是當我嘗試使用require()使用它時,它在控制台中給出了上述錯誤,並建議通過 vs 代碼使用ES6 模塊,而 require 是common.js的模塊

我有一個 package.json 文件,lodash 被列為依賴項。 我可以使用節點服務器在命令行中運行 lodash,但不能在瀏覽器中運行

除了node-js之外,我們是否需要安裝任何其他包才能運行 require() 函數? 我究竟做錯了什么? 我在 Windows 上使用最新版本的 node 和 npm let a = require('lodash');

如果 VSCode 建議你使用 ES6 模塊,那么你可能在你的項目中打開了 ES6 模塊支持,它覆蓋了 Node 對 CommonJS 模塊的默認支持。

import lodash from 'lodash';

而不是要求。


重新編輯:

我可以使用節點服務器在命令行中運行 lodash,但不能在瀏覽器中運行

嗯,是。 如果您在 Node.js 中運行旨在在 Node.js 中工作的程序,那么它就可以工作。 如果您在瀏覽器中運行相同的程序,那么它將無法工作。 僅僅在某處安裝 Node.js 並不能將瀏覽器變成 Node.js。

如果你想在瀏覽器中使用 ES6 模塊,那么:

  • 它必須與瀏覽器兼容(可能是 lodash)
  • 你需要使用import lodash from "./url/to/lodash.js"; 因為瀏覽器不支持解析 npm 路徑。

如果模塊不是為在瀏覽器中運行而設計的,那么您也許可以使用 Webpack 之類的工具以一種有效的方式將其捆綁在一起(但這在模塊中不起作用取決於 Node.js 提供的 API)。 js,如fs )。

您可以使用 express 框架來處理 NODE js

let express = require('express') ;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM