首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在MERN应用程序中运行服务器

在MERN应用程序中运行服务器
EN

Stack Overflow用户
提问于 2021-07-24 08:50:49
回答 1查看 184关注 0票数 0

我正在学习MERN应用程序开发。我得到了一个不完整的MERN应用程序,并试图运行该应用程序。我的package.json文件如下所示。

package.json

代码语言:javascript
复制
{
  "name": "machine-shop",
  "version": "1.0.0",
  "private": true,
  "type": "module",
  "scripts": {
    "build": "node ace build --production",
    "start": "node server.js",
    "dev": "node ace serve --watch",
    "lint": "eslint . --ext=.ts",
    "format": "prettier --write ."
  },
  "devDependencies": {
    "@adonisjs/assembler": "^5.0.0",
    "@babel/core": "^7.14.3",
    "@babel/preset-react": "^7.13.13",
    "@symfony/webpack-encore": "^1.4.0",
    "@types/node": "^16.3.3",
    "adonis-preset-ts": "^2.1.0",
    "autoprefixer": "^10.2.6",
    "eslint": "^7.27.0",
    "eslint-config-prettier": "^8.3.0",
    "eslint-plugin-adonis": "^1.3.1",
    "eslint-plugin-prettier": "^3.4.0",
    "node-pre-gyp": "^0.17.0",
    "pino-pretty": "^5.0.1",
    "postcss": "^8.3.0",
    "postcss-loader": "^5.3.0",
    "prettier": "^2.3.0",
    "sass": "^1.34.0",
    "sass-loader": "^11.1.1",
    "tailwindcss": "^2.1.2",
    "typescript": "~4.2",
    "youch": "^2.2.2",
    "youch-terminal": "^1.1.1"
  },
  "dependencies": {
    "-": "^0.0.1",
    "@adonisjs/auth": "^8.0.4",
    "@adonisjs/core": "^5.1.0",
    "@adonisjs/lucid": "^14.1.0",
    "@adonisjs/repl": "^3.0.0",
    "@adonisjs/session": "^6.0.0",
    "@adonisjs/shield": "^7.0.0",
    "@adonisjs/view": "^6.0.0",
    "@ckeditor/ckeditor5-build-decoupled-document": "^28.0.0",
    "@ckeditor/ckeditor5-react": "^3.0.2",
    "@date-io/date-fns": "2.6.1",
    "@formatjs/intl-pluralrules": "1.3.5",
    "@fortawesome/fontawesome-free": "5.13.0",
    "@manaflair/redux-batch": "1.0.0",
    "@material-ui/core": "4.9.14",
    "@material-ui/icons": "4.9.1",
    "@material-ui/lab": "4.0.0-alpha.53",
    "@material-ui/pickers": "3.2.10",
    "@material-ui/styles": "4.9.14",
    "@reduxjs/toolkit": "^1.6.1",
    "@tanem/svg-injector": "8.0.50",
    "apexcharts": "^3.27.2",
    "axios": "^0.21.1",
    "axios-mock-adapter": "1.18.1",
    "bootstrap": "4.6.0",
    "camelcase": "^5.2.0",
    "clipboard-copy": "3.1.0",
    "clsx": "1.1.0",
    "cp-cli": "2.0.0",
    "css-mediaquery": "^0.1.2",
    "date-fns": "2.8.1",
    "dotenv": "^10.0.0",
    "dotenv-expand": "5.1.0",
    "downshift": "3.4.2",
    "fg-loadcss": "^3.1.0",
    "force": "^0.0.3",
    "formik": "2.1.4",
    "holderjs": "^2.9.9",
    "json2mq": "^0.2.0",
    "luxon": "^1.27.0",
    "material-ui-popup-state": "^1.8.3",
    "mysql": "^2.18.1",
    "object-path": "^0.11.5",
    "phc-argon2": "^1.1.1",
    "phc-bcrypt": "^1.0.7",
    "prop-types": "^15.7.2",
    "proxy-addr": "^2.0.7",
    "react": "^17.0.2",
    "react-app-polyfill": "^1.0.4",
    "react-bootstrap": "1.0.1",
    "react-bootstrap-table-next": "4.0.2",
    "react-bootstrap-table2-paginator": "2.1.2",
    "react-datepicker": "2.16.0",
    "react-dev-utils": "^9.1.0",
    "react-dom": "^17.0.2",
    "react-draggable": "4.4.2",
    "react-dropzone": "^11.3.4",
    "react-inlinesvg": "1.2.0",
    "react-intl": "3.6.2",
    "react-is": "16.13.1",
    "react-perfect-scrollbar": "1.5.8",
    "react-portal": "4.2.0",
    "react-redux": "7.1.3",
    "react-router-dom": "^5.2.0",
    "react-select": "3.1.0",
    "react-slick": "^0.28.1",
    "react-swipeable-views": "0.13.9",
    "react-syntax-highlighter": "12.2.1",
    "react-tinder-card": "^1.4.0",
    "react-window": "1.8.5",
    "redux": "4.0.5",
    "redux-persist": "6.0.0",
    "redux-saga": "1.1.3",
    "reflect-metadata": "^0.1.13",
    "socicon": "3.0.5",
    "source-map-support": "^0.5.19",
    "sweetalert2": "^11.0.11",
    "yup": "^0.32.9"
  }
}

我的server.js文件如下

server.js

代码语言:javascript
复制
import 'reflect-metadata';
import sourceMapSupport from 'source-map-support';
import { Ignitor } from '@adonisjs/core/build/standalone';

sourceMapSupport.install({ handleUncaughtExceptions: false })

new Ignitor(__dirname).httpServer().start()

我正在尝试使用npm start命令运行应用程序。但我的错误越来越少了。

代码语言:javascript
复制
file:///home/foysal/Music/machineshop/server.js:20
new Ignitor(__dirname).httpServer().start()
            ^

ReferenceError: __dirname is not defined in ES module scope
This file is being treated as an ES module because it has a '.js' file extension and '/home/foysal/Music/machineshop/package.json' contains "type": "module". To treat it as a CommonJS script, rename it to use the '.cjs' file extension.
    at file:///home/foysal/Music/machineshop/server.js:20:13

这段代码new Ignitor(__dirname).httpServer().start()的含义是什么?密码正确吗?

以前,我在另一个MERN应用程序中工作。该项目的server.js文件与此项目的server.js文件不同。

我做错什么了吗?

有人能帮我运行这个应用程序吗?

EN

回答 1

Stack Overflow用户

发布于 2021-07-25 05:16:47

你混淆了客户端和服务器。通常,当您在这样的堆栈上工作时,您会将它们分开--在单独的存储库中,或者至少在单独的目录中。如我所见,你有两种方式:

  • 独立的客户端和服务器依赖项
  • 使用Adonis为React应用提供服务。

为了获得更好的可维护性,我会选择第一条道路。如果这看起来太复杂了,你现在可以选择后一个,然后继续沿着这条路走下去。为此,您可能需要查看文档。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68508417

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档