我来自PHP背景,但第一次尝试使用Node / Express网站。我已成功使用express-generator来获取在localhost上运行的基本框架。我还通过npm安装了highcharts,并按照instructions given by highcharts通过require()将其添加到我的项目中。我现在在index.js中有这个:
var express = require('express');
var Highcharts = require('highcharts');
var router = express.Router();
// Load module after Highcharts is loaded
require('highcharts/modules/exporting')(Highcharts);
console.log(Highcharts);
// Create the chart
Highcharts.chart('container', { /*Highcharts options*/ });
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index', { title: 'Express' });
});
module.exports = router;

我有两个问题:
1)运行DEBUG = project时,console.log()没有输出到终端或浏览器控制台:* npm start。是输出到我还没有检查的其他东西,还是我需要做更多的事情才能看到这个?
2)要求(' highcharts / modules / exports')(Highcharts);抛出TypeError:无法读取属性' document'未定义的
at /Applications/MAMP/htdocs//node_modules/highcharts/modules/exporting.js:9:115
我在哪里陷入困境?
答案 0 :(得分:1)
您链接到的Highcharts示例使用List.hd
的原因是许多人通过Browserify运行浏览器代码,以便继续使用他们喜欢的Node惯用语并保持某种级别{{ 3}}
尽管如此,Highcharts仍然适用于浏览器,不能在Node中使用。你的Express应用程序应该提供一个HTML页面,它本身通过某种方式加载Highcharts。您不限于使用Browserify,但它是此用例的常用选择。
另外,关于在哪里查找日志的不确定性:始终是终端。您的节点程序永远不会登录到浏览器控制台,除非您使用isomorphic design之类的奇特内容让他们这样做。
答案 1 :(得分:0)
看一下错误:
需要(' highcharts /模块/出口&#39)(Highcharts);抛出TypeError:无法读取属性' document'未定义的
它正在寻找document
这是一个浏览器API,HighCharts只是客户端。