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

React中使用GLPK.js报错“GLPK is not a function”问题求助

解决glpk.js导入后调用报错:TypeError: GLPK is not a function

你遇到的问题是对glpk.js的导入用法理解有误,这个库导出的是包含所有API的对象,而非可调用的初始化函数。

错误原因

你写的const glpk = GLPK()是把导入的GLPK对象当成函数调用了,但require('glpk.js')返回的是一个对象,直接调用它自然会报“不是函数”的错误。另外错误里的(in promise)只是因为你的代码在async函数中,错误被Promise上下文捕获,和导入本身是否异步无关,所以加await包裹require根本没用。

正确用法

直接使用导入的GLPK对象调用其API即可,示例代码如下:

const foo = async () => {
  const GLPK = require('glpk.js');
  
  // 创建规划问题实例
  const prob = GLPK.glp_create_prob();
  // 后续调用其他API,比如设置目标函数、添加约束等
  GLPK.glp_set_obj_name(prob, 'my_ilp_problem');
  // ... 其他ILP求解逻辑
}

如果你的项目使用ES模块语法(比如React/Vue项目,或package.json里设置了"type": "module"),可以改用import导入:

import GLPK from 'glpk.js';

const foo = async () => {
  const prob = GLPK.glp_create_prob();
  // ... 后续操作
}

额外提示

如果需要确认glpk.js的API细节,直接查看本地安装的库的README文档(node_modules/glpk.js/README.md),里面有完整的用法说明和示例。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 10:22:37