编辑:使用webpack解决问题
对于 API 的需求,我需要导入 MD5
并moment
.我使用基本npm install
下载了软件包,但是当我尝试使用以下代码将其导入app.js
时:
const md5 = require ('./node_modules/md5/md5.js');
const moment = require ('./node_modules/moment/moment.js');
function getTimeStamp () {
return moment.utc ().format ('YYYYMMDDHHmmss');
}
let timestamp = getTimeStamp ();
function generateSignature (devId, method, authKey, timestamp) {
return md5 (`${devId}${method}${apiKey}${timestamp}`);
}
let signature = generateSignature (XXXX, "createsession", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", getTimeStamp ());
我在控制台中收到此消息:
Uncaught ReferenceError: require is not defined
我不知道我做错了什么,因为我在另一个程序中使用了相同的方法并且它运行良好......
提前致谢
您可能会看到此错误,因为 require() 在浏览器/客户端 JavaScript 中不存在。如果你想在浏览器中使用 require(),那么你需要使用 require 之类的东西.js
RequireJS是一个JavaScript文件和模块加载器。它针对 在浏览器中使用,但它可以在其他JavaScript环境中使用, 比如犀牛和节点。
PS:我同意cptwonton的观点。请参阅上述帖子,了解具有各种可用选项的深入解决方案。
试试这个:
const md5 = require ("md5");
const moment = require ("moment");
<</div>
div class="one_answers">浏览器中不支持require
,因为 Node 和 ES6 具有不同的模块系统。您是否正在尝试在浏览器中调用require
?在这种情况下,我建议你设置 Babel。但是如果你使用node,那么尝试重新调整nodejs。