【发布时间】:2015-08-14 05:32:55
【问题描述】:
我在 node.js 中遇到了一个我无法理解的错误。 我有一个我根本不需要的文件,但在模块系统加载和编译中找到了我不想要的方式,因为它只会在客户端上提供。
这是使用 babel 的设置:
bootstrap.js
require('babel/register');
require('./server/index');
index.js 与 main.jsx 没有任何关系。不过这里是它的导入模块:
index.js
import express from 'express';
import routes from './routes';
import path from 'path';
但不知何故 node.js 试图加载和编译 main.jsx 这给了我这样的错误:
/home/minheq/Git/react_app/node_modules/react/lib/invariant.js:49
throw error;
^
Error: Invariant Violation: You cannot use <HistoryLocation> without a DOM
at invariant (/home/minheq/Git/react_app/node_modules/react/lib/invariant.js:42:15)
at createRouter (/home/minheq/Git/react_app/node_modules/react-router/lib/createRouter.js:131:5)
at Object.runRouter [as run] (/home/minheq/Git/react_app/node_modules/react-router/lib/runRouter.js:40:16)
at Object.<anonymous> (/home/minheq/Git/react_app/app/main.jsx:6:10)
at Module._compile (module.js:430:26)
at normalLoader (/home/minheq/Git/react_app/node_modules/babel-core/lib/api/register/node.js:199:5)
at Object.require.extensions.(anonymous function) [as .jsx] (/home/minheq/Git/react_app/node_modules/babel-core/lib/api/register/node.js:216:7)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Module.require (module.js:365:17)
at require (module.js:384:17)
尤其是这一行:
at Object.<anonymous> (/home/minheq/Git/react_app/app/main.jsx:6:10)'
关于这可能是如何发生的任何参考?谢谢!
【问题讨论】:
-
你在用 react 吗?
-
这是正确的,尝试使用多个入口点设置 webpack,表达和响应路由器以进行最终设置
-
您正在从某个地方导入
main.jsx,它不会无缘无故地随机导入。也许它来自您正在导入的路线?看到这个:react-router/lib/runRouter.js. -
你是对的,我可以看到在服务器上使用 main.jsx 的其他需求链,并且确实来自路由。感谢您的领导和参考!
标签: javascript node.js babeljs