当前位置:  开发笔记 > 编程语言 > 正文

ReferenceError:在ReactJS中要求Shelljs时未定义进程

如何解决《ReferenceError:在ReactJS中要求Shelljs时未定义进程》经验,为你挑选了1个好方法。

我试图在我的核心React组件中要求shelljs.

import React, { Component } from 'react';
import {render} from 'react-dom';
import Header from './components/Header';

const shell = require('shelljs');

class App extends Component {
    render() {
        console.log("First component mounting");
        console.log("First component mounting");
        return (
            
) } } render(, document.getElementById('root'));

我跑的时候

webpack build

我没有错误,然后我运行我的服务器,我得到以下控制台错误.

我使用jekyll作为我的服务器端.目前正在从正常的jekyll实现过渡到React.React很好实现,因为我在导入shelljs模块之前测试了Header组件

ReferenceError: process is not defined

我是新手在javascript中使用模块,提前谢谢.



1> 小智..:

我会想你不会真的意味着使用您的shell常量,因为你已经不是你阵营组件中引用的任何地方.Shelljs看起来它是专门用于命令行的工具.

至于你的错误:

process是Node环境中的全局变量.由于React在浏览器中运行,并且您的组件将在浏览器中呈现,因此process组件的上下文中将不存在.

尝试打开Chrome DevTools(或您使用的任何浏览器的开发者工具)并输入process.你会得到一个TypeError,因为它不存在.然而,存在的是全局window变量.

现在,打开命令行并键入node以打开Node.js REPL.process在此处键入,您将看到它是一个包含大量属性和值的对象.接下来,键入window并按Enter键.window这里不存在,因为它只存在于浏览器中.

(键入Ctrl+ C两次以退出Node btw.:])

推荐阅读
ifx0448363
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有