Node.js 编译我不需要的文件。它是如何工作的?
Node.js compiles files I did not require. How does that work under the hood?
我在 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)'
关于这可能是如何发生的任何参考?谢谢!
main.jsx
的输入来自这一行:
import routes from './routes';
在您的错误堆栈跟踪中,您会看到:
react-router/lib/runRouter.js
关于 Invariant Violation
,参见 this issue on Github。
我在 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)'
关于这可能是如何发生的任何参考?谢谢!
main.jsx
的输入来自这一行:
import routes from './routes';
在您的错误堆栈跟踪中,您会看到:
react-router/lib/runRouter.js
关于 Invariant Violation
,参见 this issue on Github。