So habe ich die Dinge zu arbeiten, wo es babel alles kompiliert, einschließlich next.jsWeiter Js & Babel verursacht Endlosschleife
ich next.js docs gefolgt, wie babel zu handhaben und eine .babelrc Datei erstellt:
{
"presets": ["next/babel", "es2015", "stage-0"]
}
Wenn ich yarn run dev
ausführen, kompiliert alles und der Server startet. Wenn ich eine Seite lade, wird next.js den Build-Prozess ausführen. Da sich die Dinge im Verzeichnis ändern, startet nodemon den Server neu und verursacht eine Endlosschleife. Kann mir das bitte helfen ???
Das ist meine package.json Datei:
{
"name": "creatorsneverdie",
"version": "1.0.0",
"main": "index.js",
"license": "MIT",
"scripts": {
"dev": "nodemon app.js --exec babel-node --ignore node_modules, .next, yarn.lock",
"build": "next build",
"start": "NODE_ENV=production node app.js"
},
"dependencies": {
"axios": "^0.16.2",
"bcrypt": "^1.0.2",
"body-parser": "^1.17.2",
"cors": "^2.8.4",
"cryptr": "^2.0.0",
"dotenv": "^4.0.0",
"express": "^4.15.3",
"express-session": "^1.15.4",
"lodash": "^4.17.4",
"lowdb": "^0.16.2",
"next": "^2.4.7",
"passport": "^0.3.2",
"passport-jwt": "^2.2.1",
"react": "^15.6.1",
"react-dom": "^15.6.1"
},
"devDependencies": {
"babel-cli": "^6.24.1",
"babel-loader": "^7.1.1",
"babel-preset-es2015": "^6.24.1",
"babel-preset-stage-0": "^6.24.1",
"nodemon": "^1.11.0"
}
}
Und die app.js Datei:
import express from 'express'
import session from 'express-session'
import bodyParser from 'body-parser'
import cors from 'cors'
import passport from 'passport'
const db = require('./db/index.js').initDb()
const writeSeeds = require('./db/index.js').writeSeeds
const routes = require('./routes/index')
require('dotenv').config({path: 'variables.env'});
// Next config
const next = require('next')
const dev = process.env.NODE_ENV !== 'production'
const nextLoader = next({dev})
const handle = nextLoader.getRequestHandler()
nextLoader.prepare().then(() => {
const app = express();
app.use(cors());
app.set('db', db);
app.nextRender = nextLoader
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));
app.use(session({
secret: process.env.SECRET,
resave: false,
saveUninitialized: false
}));
app.use(passport.initialize());
app.use(passport.session());
require('./config/passport')(passport);
app.use('/', routes)
app.get('*', (req, res) => {
return handle(req, res)
})
// START APP
app.set('port', process.env.PORT || 1337);
if(!db.has('products').value()) {
writeSeeds(db);
}
const server = app.listen(app.get('port'),() => {
console.log(`Express running -> ${server.address().port}`)
});
})
Könnten Sie nur Knoten anstelle von Nodemon verwenden, da Sie nicht nodemon den Server neu starten müssen: '" dev ":" Knoten app.js --exec babel-Knoten --ignore Knotenmodule, .next, gamel.lock " ' – SimplyComplexable