簡體   English   中英

Node.js啟動React-App客戶端

[英]nodejs start react-app client

我已經使用create-react-app制作了一個網絡應用create-react-app ,該create-react-app運行良好,並且通常使用npm start運行它,但是現在我必須對其進行部署,並使其與forever nodejs模塊一起使用。

如果我執行node src/index.js ,它將給出語法錯誤並解決此問題,我使用babel將es6 es6es5 ,但是再次在導入css文件時出現以下語法錯誤:

/client/src/stylesheets/menu.css:1
(function (exports, require, module, __filename, __dirname) { header {
                                                                     ^

SyntaxError: Unexpected token {

這是我的package.json文件:

{
  "dependencies": {
    "async": "^2.5.0",
    "axios": "^0.16.2",
    "classnames": "^2.2.5",
    "date-diff": "^0.1.3",
    "jwt-decode": "^2.2.0",
    "lodash": "^4.17.4",
    "react": "^15.6.1",
    "react-bootstrap": "^0.31.2",
    "react-bootstrap-table": "^4.0.2",
    "react-dom": "^15.6.1",
    "react-redux": "^5.0.6",
    "react-router": "^4.2.0",
    "react-router-dom": "^4.2.2",
    "react-scripts": "1.0.12",
    "react-select": "^1.0.0-rc.5",
    "redux": "^3.7.2",
    "redux-thunk": "^2.2.0",
    "shortid": "^2.2.8",
    "validator": "^8.1.0"
  },
  "scripts": {
    "start": "react-scripts-with-stylus start src/stylesheets/menu.styl",
    "build": "react-scripts-with-stylus build src/stylesheets/menu.styl",
    "test": "react-scripts test --env=jsdom",
    "eject": "react-scripts eject"
  },
  "proxy": "http://localhost:8081",
  "devDependencies": {
    "babel": "^6.23.0",
    "babel-cli": "^6.24.1",
    "babel-core": "^6.25.0",
    "babel-polyfill": "^6.23.0",
    "babel-preset-es2015": "^6.24.1",
    "babel-preset-stage-0": "^6.24.1",
    "create-react-app-stylus": "^1.1.1",
    "webpack": "^3.5.5"
  }
}

總結這個問題的答案:

  • 如果需要部署它,則應該進行構建,而不是直接運行應用程序。
  • 運行npm run build ,它將生成構建文件到一個新文件夾中。
  • 您根本不應該嘗試使用npm運行該應用程序。 您應該將所有文件從build文件夾復制到服務器的根目錄中,當用戶打開頁面時,將顯示index.html文件。
  • 如果您的代碼已更改並且可以投入生產,則可以對其進行重建,也可以使用某些CI工具自動執行此過程。
  • 您應該僅在Git存儲庫中具有React客戶端文件,構建文件應在服務器上的構建過程中生成。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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