Goa*_*ral 3 javascript npm ecmascript-6 reactjs shelljs
我试图在我的核心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 (
<Header />
)
}
}
render(<App />, document.getElementById('root'));
Run Code Online (Sandbox Code Playgroud)
我跑的时候
webpack build
Run Code Online (Sandbox Code Playgroud)
我没有错误,然后我运行我的服务器,我得到以下控制台错误.
我使用jekyll作为我的服务器端.目前正在从正常的jekyll实现过渡到React.React很好实现,因为我在导入shelljs模块之前测试了Header组件
ReferenceError: process is not defined
Run Code Online (Sandbox Code Playgroud)
我是新手在javascript中使用模块,提前谢谢.
小智 7
我会想你不会真的意味着使用您的shell常量,因为你已经不是你阵营组件中引用的任何地方.Shelljs看起来它是专门用于命令行的工具.
至于你的错误:
process是Node环境中的全局变量.由于React在浏览器中运行,并且您的组件将在浏览器中呈现,因此process组件的上下文中将不存在.
尝试打开Chrome DevTools(或您使用的任何浏览器的开发者工具)并输入process.你会得到一个TypeError,因为它不存在.然而,存在的是全局window变量.
现在,打开命令行并键入node以打开Node.js REPL.process在此处键入,您将看到它是一个包含大量属性和值的对象.接下来,键入window并按Enter键.window这里不存在,因为它只存在于浏览器中.
(键入Ctrl+ C两次以退出Node btw.:])
| 归档时间: |
|
| 查看次数: |
10584 次 |
| 最近记录: |