You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从不可编辑的stocks.js文件导入数组到HTML页面中使用

问题原因

require()是Node.js专属的CommonJS模块导入语法,浏览器原生运行环境不支持,所以直接打开静态HTML文件无法读取stocks.js内的数组。结合package.json给出的Express依赖、server.js入口配置,这个作业需要你搭建本地Express服务实现数据传递。

解决步骤

第一步:编写服务端代码server.js

在项目根目录新建server.js文件,代码如下:

const express = require('express');
const app = express();
const port = 3000;
// 导入不可编辑的stocks数据
const { stocks } = require('./stocks.js');

// 托管项目静态文件,允许访问stocklist.html
app.use(express.static(__dirname));

// 提供返回股票数据的接口
app.get('/api/stocks', (req, res) => {
  res.json(stocks);
});

// 启动服务
app.listen(port, () => {
  console.log(`服务运行在 http://localhost:${port}`);
})

第二步:修改stocklist.html的JS逻辑

删除原有的require导入代码,改用你已经引入的jQuery请求接口获取数据,修改后的script标签内容如下:

<script>
// 页面加载完成后请求股票数据
$(function() {
  $.get('/api/stocks', function(stocks) {
    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>

第三步:启动服务访问页面

  • 在项目根目录执行npm install安装依赖
  • 执行npm start启动本地服务
  • 打开浏览器访问http://localhost:3000/stocklist.html即可看到正常渲染的股票表格

内容的提问来源于stack exchange,提问作者FujiHana

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 00:24:01