javascript - 如何访问存储在不同js文件中的数组
问题描述
我正在尝试创建自己的 lorem ipsum 应用程序,并且我想通过将我的单词库存储在其他文件中来保持我的代码干净。如何访问存储在不同 JS 文件中的数组?例如harry = ["", "", ""]
,我不想硬编码,而是想将该数据存储在不同的文件中,然后将该文件调用到数组中。
// generator.js
function GenerateNewText(){
this.sentences = [
harry = [
"I am the chosen one!",
"Boy wizard",
"Quidditch seeker"
ron = [
"I am a Weasley",
"Gryffindor",
"Quidditch keeper"
]
]
}
GenerateNewText.prototype.getRandomSentence = function() {
let randomSentence = this.sentences[0][Math.floor(Math.random() * this.sentences.length)]
return randomSentence;
}
目前,我有一个 harryText.js,其中包含
// harryText.js
harryText = [
"I am the chosen one",
"I am a Gryffindor",
"I am a boy"
]
module.exports = harryText;
但在我的 generator.js 中执行此操作显示harryText is not defined
function GenerateNewText(){
this.sentences = [
harryText, <---- error here
ron = [
"I am a Weasley",
"Gryffindor",
"Quidditch keeper"
]
]
}
我尝试像这样要求它
const harryText = require("./harryText.js")
,但问题仍然存在。我猜是范围问题?
我尝试安装ejs
和更改harryText.ejs
并将其包含<%= include harryText %>
在生成器数组中,这是无效的代码。
是否可以从另一个文件调用一个数组并将其存储在另一个数组中?有谁知道解决这个问题?
是的,我知道哈利波特 Ipsum 已经存在。这只是虚拟文本。
解决方案
Javascript 文件是相互隔离的。要共享您始终需要的通用代码,require
并且module.exports
所以你正在做正确的事情module.exports = harryText
然后你需要require
那个文件generator.js
const harryText = require("./harryText");
function GenerateNewText(){
this.sentences = [
harryText,
ron = [
"I am a Weasley",
"Gryffindor",
"Quidditch keeper"
]
]
}
推荐阅读
- html - Vuetify:根据(错误)消息的可见性调整输入字段的底部边距
- php - 如何打印解析为 php 对象的 json 字符串
- ios - 在 iOS RxSwift 中用适当的值区分 errorObserver
- openshift - 如何回滚以使用旧图像而不是保持最新(外部构建)?
- csv - 重复的标题名称 Apache Commons-csv(withAllowDuplicateHeaderNames 不起作用)
- xamarin - 从 C# 为 LinearLayout 设置 android:layout_weight
- reactjs - 包含 ReactJS 应用程序的 Docker 容器在本地运行,但在 Web 服务器上失败
- google-apps-script - 在 Column1 的值是动态的对象中获取列名及其值
- python - 如何从列中返回列表的所有子集?
- javascript - 在多维数组中查找值。3层深