[英]Cannot run npm start reactjs
這是我在文件 server.js 上的代碼
if(process.env.NODE_ENV !== 'production') {
require('dotenv').parse()
}
const express = require('express')
const app = express()
const expressLayouts = require('express-ejs-layouts')
const indexRouter = require('./routes/index')
app.set('view engine', 'ejs')
app.set('views', __dirname + '/views')
app.set('layout', 'layouts/layout')
app.use(expressLayouts)
app.use(express.static('public'))
const mongoose = require('mongoose')
mongoose.connect(process.env.DATABASE_URL, {
useNewUrlParser: true })
const db = mongoose.connection
db.on('error', error => console.error(error))
db.once('open', () => console.log('Connected to Mongoose'))
app.use('/', indexRouter)
app.listen(process.env.PORT || 3000)
當我嘗試啟動服務器時,向我顯示此錯誤
C:\Users\mikae\Desktop\Books\node_modules\dotenv\lib\main.js:42
src.toString().split(NEWLINES_MATCH).forEach(function (line, idx) {
^
TypeError: Cannot read property 'toString' of undefined
at Object.parse (C:\Users\mikae\Desktop\Books\node_modules\dotenv\lib\main.js:42:7)
at Object.<anonymous> (C:\Users\mikae\Desktop\Books\server.js:2:23)
at Module._compile (internal/modules/cjs/loader.js:1015:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1035:10)
at Module.load (internal/modules/cjs/loader.js:879:32)
at Function.Module._load (internal/modules/cjs/loader.js:724:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:60:12)
at internal/main/run_main_module.js:17:47
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! books@1.0.0 start: `node server.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the books@1.0.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\mikae\AppData\Roaming\npm-cache\_logs\2020-12-18T03_27_14_460Z-debug.log
我嘗試使用 ReactJS、Express 和 MongoDB 構建服務器。 當我嘗試將 MongoDB 代碼放在我的文件中時,就會發生這種情況。
dotenv.parse 與包含環境變量的緩沖區或字符串一起使用並返回 object :
const envVariables = Buffer.from('API_KEY=apikey')
const config = dotenv.parse(envVariables)
console.log(config); // {API_KEY: 'apikey'};
如果要加載 a.env 文件,請使用 dotenv.config:
dotenv.config();
if(process.env.NODE_ENV.== 'production') { require('dotenv').config() }
if(process.env.NODE_ENV !== 'production'){ require('dotenv').config() }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.