簡體   English   中英

無法運行 npm 啟動 reactjs

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM