使用Express服务静态文件以进行反应

时间:2019-03-05 12:55:39

标签: javascript node.js

我有一个应用程序,其中我使用以下代码提供静态文件

// index.js-服务器文件夹

app.use(express.static(path.join(__dirname, '..', 'client', 'build')));
app.get('/*', (req, res) => {
    res.sendFile(path.join(__dirname, '..', 'client', 'build', 'index.html'));
  })

;

我能够获取html文件,但无法在build文件夹中获取js文件。

首先,它无法找到chunk.js文件

所以我添加了“主页”:“。”在我的package.json中为客户端

那我能够避免找不到404文件,但是当我检查chunk.js文件的响应时,它给出的是html代码而不是缩小的js代码。

我的应用程序基本URL是https://www.example.com/app

查看以下详细信息

sampleapp
   client
     // using cra (create react app) files
     src
     public
     ...
   server
     index.js
   Dockerfile

// package.json->客户端文件夹中的

{
  "name": "client",
  "version": "0.1.0",
  "homepage": ".",
  "private": true,
  "dependencies": {
    "react": "^16.8.3",
    "react-dom": "^16.8.3",
    "react-scripts": "2.1.5"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": "react-app"
  },
  "browserslist": [
    ">0.2%",
    "not dead",
    "not ie <= 11",
    "not op_mini all"
  ],
  "proxy": "http://localhost:4000"
}

// Dockerfile

FROM node:10.15.1-alpine

COPY . /var/app

WORKDIR /var/app/client
RUN npm install --no-cache && npm run build && npm install -g serve


WORKDIR /var/app/server
RUN npm install --no-cache

EXPOSE 4000 

CMD [ "node","index.js" ]

任何帮助表示赞赏

0 个答案:

没有答案