【问题标题】:windows not defined when Node.js trying to read export default variable from react file (node.js reads react file)当 Node.js 尝试从反应文件中读取导出默认变量(node.js 读取反应文件)时未定义窗口
【发布时间】:2018-07-27 16:44:32
【问题描述】:

当我尝试读取包含路由器节点崩溃错误的反应文件时(我想构建站点地图,但即使我只是尝试 console.log 导出默认变量我收到此错误可能是 babel 错误配置? ):

redux\store.js:80 var store = (0, _redux.createStore)(_index2.default, defaultState, (0, _redux.compose)((0, _redux.applyMiddleware)(_reduxThunk2.default), window.devToolsExtension ? window.devToolsExtension() : 函数 (f) { ^

ReferenceError: 窗口未定义

是否可以修复该错误?

react file test.js

require('es6-promise').polyfill();

import React from 'react';
import { render } from 'react-dom';
import { Provider } from 'react-redux';
import store, { history } from './redux/store';
import { Router, Route, IndexRoute } from 'react-router';
import App from './app';
....

const renderRouter = (<Provider store={store}>
      <Router history={history} >
        <Route path="/" component={App}>
.....
</Router>
</Prodiver
)

export default renderRouter;

站点地图文件

require('babel-register');

const renderRouter = require('./test').default;
console.log(renderRouter);

/*
const Sitemap = require('react-router-sitemap').default;

(
    new Sitemap(router)
        .build('https://www.omgomg.com')
        .save('./sitemap.xml')
);*/

编辑: 如果我删除导入存储和历史记录,并且从 App 组件中收到 @import 错误(它有 scss 文件,所以我相信 babel 不是读取 scss 的配置?)

react file test.js

require('es6-promise').polyfill();

import React from 'react';
import { render } from 'react-dom';
import { Provider } from 'react-redux';
/*import store, { history } from './redux/store';*/
import { Router, Route, IndexRoute } from 'react-router';
const App = 0;
....

const renderRouter = (<Provider >
      <Router >
        <Route path="/" component={App}>
.....
</Router>
</Prodiver
)

export default renderRouter;

【问题讨论】:

    标签: node.js reactjs sitemap


    【解决方案1】:

    你使用 react-router 4.x 吗? 如果是这样,则 Github 中存在问题: https://github.com/kuflash/react-router-sitemap/issues/71

    【讨论】:

    • 我使用 react-router 但我的问题是读取反应文件。即使我不尝试使用 react-router-sitemap 。在上面的示例中,我只是尝试控制台记录我从 test.js 导出的变量。如果我删除 redux 导入它的工作原理
    • 尝试创建一个.babelrc文件并忽略它:{ "stage": 0, "ignore": [ "*.scss" ] }
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-12
    • 2013-08-25
    • 2016-04-15
    • 2016-05-12
    • 2022-07-13
    相关资源
    最近更新 更多