如何从.js文件导入数组到HTML文件?



我是JS和HTML的新手,对于分配,我得到了包含数组的stocks.js:

'use strict';
const stocks = [
{ company: 'Splunk', symbol: 'SPLK', price: 137.55 },
{ company: 'Microsoft', symbol: 'MSFT', price: 232.04 },
{ company: 'Oracle', symbol: 'ORCL', price: 67.08 },
{ company: 'Snowflake', symbol: 'SNOW', price: 235.8 },
{ company: 'Terradata', symbol: 'TDC', price: 44.98 }
];
module.exports.stocks = stocks;

我应该在我制作的另一个静态HTML页面stocklist.html中使用这个数组来制作一个包含stocks.html所有数据的表。到目前为止,我有:

<html lang = "en">
<head>
<meta charset = "utf-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
</head>
<body>
<table>
<caption><h1>Stock List</h1></caption>
<thead>
<tr>
<th>Company |</th>
<th>Symbol |</th>
<th>Cost</th>
</tr>
</thead>
<tbody id = "stockTable">
</tbody>
</table>
<script>
const { stocks } = require('./stocks.js');
buildTable(stocks);

function buildTable(data) {
var table = document.getElementById("stockTable")

for (var i = 0; i < data.length; i++) {
var row = 
`<tr>
<td>${data[i].company}</td>
<td>${data[i].symbol}</td>
<td>${data[i].price}</td>
</tr>`
table.innerHTML += row;
}
}
</script>
</body>
</html>

当我从stocks.js复制并粘贴数组stocks<script>元素时,表就创建好了。鉴于作业的要求,然而,我不能这样做,我也不能编辑stocks.js。如何将stocks数组从stocks.js导入stocklist.html,以便我可以使用buildTable访问?

编辑:我的不可编辑包。

{
"name": "assignment3",
"version": "1.0.0",
"description": "",
"main": "server.js",
"scripts": {
"test": "echo "Error: no test specified" && exit 1",
"start": "nodemon server.js"
},
"author": "",
"license": "ISC",
"dependencies": {
"express": "^4.17.1",
"nodemon": "^2.0.12"
}
}

当您将数组导出为CJS模块时,我建议您检查CommonJS (CJS)模块文档

此外,在您的情况下,您可以只需要您的stocks.js导出的模块。这样的:

const { stocks } = require('path/to/socks.js')

而不是直接将代码写入脚本标记。您可以使用script标签来导入js文件。像这样:

<script src="./stocks.js" type="text/javascript" ></script>

编辑:好吧,这不是我理解的。将javascript导入到另一个javascript中。你可以在你的文件的顶部添加let stocksArray = require("./stocks.js");,然后你可以访问你的股票数组。

最新更新