Estoy tratando de requerir shelljs en mi componente React principal.
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'));cuando corro
webpack buildNo obtengo errores, luego ejecuto mi servidor y obtengo el siguiente error de consola.
Estoy usando jekyll como mi lado del servidor. Actualmente en transición de la implementación normal de jekyll a solo React. React está bien implementado porque probé el componente Header antes de importar el módulo shelljs
ReferenceError: process is not definedSoy nuevo en el uso de módulos en javascript, gracias de antemano.
Voy a suponer que realmente no tiene la intención de usar su constante de shell ya que no la ha referenciado en ninguna parte dentro de su componente React. Parece que Shelljs es una herramienta específica para la línea de comandos.
En cuanto a tu error:
process es una variable global en el entorno Node. Dado que React se ejecuta en el navegador y su componente se representará en el navegador, el process no existirá en el contexto de su componente.
Intente abrir Chrome DevTools (o las herramientas de desarrollo para cualquier navegador que use) y escriba process . Obtendrá un TypeError porque no existe. Lo que sí existe, sin embargo, es la variable de window global.
Ahora, abra la línea de comando y escriba node para abrir Node.js REPL. Escriba process aquí y verá que es un objeto que contiene muchas propiedades y valores. A continuación, escriba window y presione enter. window no existe aquí porque solo existe en el navegador.
(Escriba Ctrl + C dos veces para salir del Nodo por cierto. :])