【发布时间】:2019-03-14 14:21:55
【问题描述】:
我正在尝试获取这个 javascript 文件
https://eloquentjavascript.net/code/journal.js
通过使用原生 fetch 命令,如
fetch('https://eloquentjavascript.net/code/journal.js').then(v => {
//do something here
})
如果上面的 journal.js 在其中声明了一个变量 - 我如何在当前范围内使用该变量。
如果我 console.log(v) - 那么就无法访问该变量 - 因为 chrome 显示:
有没有办法获取一个 javascript 文件(作为文本)然后解析它,以便我们可以在我当前的范围内使用导入文件的对象和方法??
该文件的内容声明了一个变量,如:
var JOURNAL = [{"events":["carrot","exercise","weekend"],"squirrel":false},{"events":["bread","pudding","brushed teeth","weekend","touched tree"],"squirrel":false}]
【问题讨论】:
-
您是否试图避免只使用
<script>标签? -
如果您担心在您的环境中注入外部 JS 代码的安全性,请注意您可以使用工作人员(或沙箱)对其进行解析,并仅返回数据
-
您能否编辑您的问题以阐明您所针对的环境?您说您正在使用 Node.js,但您也说您正在使用本机
fetch(Node.js 中不存在)并且您已经显示了 Chrome 的日志输出。您是要在浏览器中还是在 Node.js 中获取这些数据? -
是的 - 抱歉 - 不是 nodeJS - 但作为将在浏览器中运行的单个 javascript 文件
标签: javascript parsing fetch