Jhon Manuel Angulo Moncada
para usuarios windows usar:
"start": "SET NODE_ENV=production & node index",
Antonio Madrid
Carlos Jaime Yerena
Gracias por el dato camarada!!!
Jhon Manuel Angulo Moncada
para usuarios windows usar:
"start": "SET NODE_ENV=production & node index",
Antonio Madrid
Carlos Jaime Yerena
Gracias por el dato camarada!!!
Noel Zenon Callapiña Angles
En windows el valor de process.env.NODE_ENV me daba 'production ' más un espacio, haciendo que la variable isDev nunca sea falsa. para superar lo anterior le tuve que agregar un trim, quedo de la siguiente manera.
const isDev = process.env.NODE_ENV.trimRight() !== 'production';
Les comento por si tienen el mismo problema.
Antonio Madrid
Gracias! Ese fue el segundo problema que tuve, solucionado!
const isDev = process.env.NODE_ENV.trimRight() !== 'production'
Reinaldo Mendoza
Excelente solucion
NODE_ENV en Windows
Enero 2022
Les traigo una actualización a partir las soluciones proporcionadas por mis compañeros jhon manuel angulo moncada y Nanglesc
En package.json tendremos
"scripts": { "start": "SET NODE_ENV=production & node index", "dev": "nodemon -e js,graphql index", "lint": "standard", "lint-fix": "standard --fix", "test": "echo \"Error: no test specified\" && exit 1" }
Y asegúrense de quitar el espacio de la variable NODE_ENV con trimEnd().
const isDev = process.env.NODE_ENV.trimEnd() !== 'production';
Fmendoza
Me gustó mucho la clase 20. Excelente forma de hacer búsquedas!
Nicolas Plazas
Me aparece una pantalla en blanco con el siguiente error: {"errors":[{"message":"Must provide query string."}]}, cuando la llave graphiql es false, ayuda pls.
Miguel Angel Reyes Moreno
Preparando API para producción
Debemos hacer npm i cors para que nuestra API pueda ser consumida desde cualquier lado.
Para hacer que esté listo nuestro entorno en producción hacemos lo siguiente:
En index.js:
const cors = require("cors"); const isDev = process.env.NODE_ENV.trimRight() !== "production" //* Hacemos trimRight porque el NODE_ENV viene con un espacio al final, en package.json app.use(cors()); app.use('/api', graphqlHTTP({ schema, rootValue: resolvers, graphiql: isDev }));
En el package.json:
{ "scripts": { "start": "SET NODE_ENV=production & node index" } }
Alejandro Marcos Gutierrez
para apollo-server
const server = new ApolloServer({ cors: { origin: '*', credentials: true }, schema, playground: true })
silvana murgo
César David Ramírez Dimaté
Excelente resumen.
Fernando Cordero
{"errors":[{"message":"Must provide query string."}]}
Juan Jose Vega
cambio la url, tiene que estar en la url del query
César David Ramírez Dimaté
Eso quiere decir que está bien. Que no se podrá ingresar al entorno gráfico GraphiQL si se levanta el servicio como si estuviera en producción.
Walter Ugalde A
Gracias Prof. El curso para principiantes esta bien, en realidad aporto muy poco, con respecto al que ya existia.
César David Ramírez Dimaté
Lamentablemente es así. No deberían estar renovando cursos básicos si están bien, sino enfocarse a cursos avanzados y dejar los básicos como están.
Cristian Iñiguez
Si son usuarios de Windows pueden usar cross-env para no tener problemas con las variables de entorno en los comandos:
// package.json { ..., "scripts": { "start": "cross-env NODE_ENV=production node index.js", "dev": "cross-env NODE_ENV=development nodemon -e js,graphql index.js", "test": "echo \"Error: no test specified\" && exit 1" }, ... }
Nery Alberto Cano Ortigoza
Les facilito aquí la librería de cors para que puedan profundizar en la documentación
Carlos Jaime Yerena
Muchas gracias compañero!!!
Sebastian Matias Pulido
En windows tira error por lo que hay que agregar "SET" antes de "NODE_ENV"
"start": "SET NODE_ENV=production & node index"
Pero esto genera un espacio vacio despues del string 'production' así que simplemente agreguen ese espacio vacio y listo.
const isDev = process.env.NODE_ENV !== 'production '
Espero les sirva de ayuda
Mateo Loaiza Rios
npm ERR! errno 1
npm ERR! platzi-dir@1.0.0 start: NODE_ENV=production node index.js
npm ERR! Exit status 1
Alexis Alberto Texis Auza
Prueba usando la librería cross-env
y escribe en tu script: "start" : " cross-env NODE_ENV=production node index"
Daniel Alberto De La Paz López
Si estas usando windows, puedes instalar la librería win-node-env. **npm i win-node-env **o si lo quieres de manera global npm i -g win-node-env con esto no se tiene que modificar la línea y se ejecuta sin problemas
Juan Jose Vega
Usen gitbash o zsh en hyper
Francisco Javier Suarez Verdugo
Muchas gracias por la sencilla y rápida explicación para usar cors instructor Adrián.
Francisco Garcia [C6]
Excelente tip
jorge llanque
npm ERR! errno 1 npm ERR! platzi-dir@1.0.0 start: NODE_ENV=production node index.js npm ERR! Exit status 1
Gracias! Ese fue el primer problema que tuve en Windows, solucionado!
"scripts": { "start": "SET NODE_ENV=production & node index", "dev": "nodemon -e js,graphql index",
1- Instalar
npm i cors
Mas info
2- En index.js agregar
const cors = require('cors')
3- Validar si estamos en modo desarrollo o produccion
const isDev = process.env.NODE_ENV !== 'production'; app.use('/api', graphqlHTTP({ schema, rootValue: resolvers, graphiql: isDev }));
5- en package.json agregamos una nuevo script que correra en para produccion
"scripts": { "start": "NODE_ENV=production node index", "dev": "nodemon -e js,graphql index.js", "lint": "standard || exit 0", "lint-fix": "standard --fix", "test": "echo \"Error: no test specified\" && exit 1" },