我创建了app.js
最简单的节点服务器。为此,我安装了下一个库:
npm install node-jsx react express jade
。
现在,当我使用node app.js
启动时,会出现下一个错误:
c:\Programming\React_Examples\server rendering\node_modules\jade\node_modules\constantinople\node_modules\acorn\dist\acorn.js:2275
_classCallCheck(this, TokContext);
^
ReferenceError: TokContext is not defined
at new TokContext (c:\Programming\React_Examples\server rendering\node_modules\jade\node_modules\constantinople\node_modules\acorn\dist\acorn.js:2275:25)
at Object../state (c:\Programming\React_Examples\server rendering\node_modules\jade\node_modules\constantinople\node_modules\acorn\dist\acorn.js:2285:11)
at s (c:\Programming\React_Examples\server rendering\node_modules\jade\node_modules\constantinople\node_modules\acorn\dist\acorn.js:1:681)
at c:\Programming\React_Examples\server rendering\node_modules\jade\node_modules\constantinople\node_modules\acorn\dist\acorn.js:1:732
at Object../expression (c:\Programming\React_Examples\server rendering\node_modules\jade\node_modules\constantinople\node_modules\acorn\dist\acorn.js:907:21)
at s (c:\Programming\React_Examples\server rendering\node_modules\jade\node_modules\constantinople\node_modules\acorn\dist\acorn.js:1:681)
at e (c:\Programming\React_Examples\server rendering\node_modules\jade\node_modules\constantinople\node_modules\acorn\dist\acorn.js:1:852)
at c:\Programming\React_Examples\server rendering\node_modules\jade\node_modules\constantinople\node_modules\acorn\dist\acorn.js:1:870
at a (c:\Programming\React_Examples\server rendering\node_modules\jade\node_modules\constantinople\node_modules\acorn\dist\acorn.js:1:150)
at Object.<anonymous> (c:\Programming\React_Examples\server rendering\node_modules\jade\node_modules\constantinople\node_modules\acorn\dist\acorn.js:1:383)
答案 0 :(得分:1)
问题是node-jsx和acorn模块之间存在冲突(后者由Jade使用)。
如果您可以将所有JSX保存在扩展名不是.js的文件中,例如.jsx,您可以替换
require('node-jsx').install();
致电:
require('node-jsx').install({extension: '.jsx'});
另一种选择可能是与Jade不同的模板引擎。
或者将JSX包含限制在主要模块之外的模块(不确定这个模块,但必要时值得尝试)。