There are two ways to deploy Angular projects with Docker. One is server-side rendering, which is described in the official documentation. The other is to compile the node image and put it into the web server. Since we are in the node environment, it is most convenient to use express. Create server.js const express = require('express'); const app = express(); const config = { root: __dirname + '/dist', port: process.env.PORT || 4200 }; //Static resources app.use('/', express.static(config.root)); //All routes go to index.html app.all('*', function (req, res) { res.sendfile(config.root + '/index.html'); }); app.listen(config.port, () => { console.log("running……"); }) Create Dockerfile FROM node:13.3.0-alpine3.10 ENV PORT=4200 \ NODE_ENV=production # Install express and angular/cli RUN npm install [email protected] -g \ && npm install -g @angular/cli # Create the app directory RUN mkdir -p /app # Copy the code to the App directory COPY ./app WORKDIR /app # Install dependencies and build the program. Since I need to reverse proxy to a subdirectory, I add the base-href parameter RUN npm install && ng build --base-href /manage/ --prod EXPOSE ${PORT} ENTRYPOINT ["node", "/app/server.js"] The above is the full content of this article. I hope it will be helpful for everyone’s study. I also hope that everyone will support 123WORDPRESS.COM. You may also be interested in:
|
>>: Example of how to embed H5 in WeChat applet webView
Table of contents 1. Introduction to Concurrency ...
Modify the group to which a user belongs in Linux...
Table of contents Preface Component Introduction ...
Possible reasons: The main reason why Seata does ...
See the effect first Implementation Code <div ...
You may encounter the following problems when ins...
When customizing the installation of software, yo...
Install mysql5.7.21 in the window environment. Th...
Table of contents 1. Introduction 2. Preparation ...
First, let’s take an example: There is a type fie...
In the previous article, I introduced the functio...
*Create a page: two input boxes and a button *Cod...
Table of contents 1. What is dynamic typing? 2. D...
Table of contents 1. Retrieve the image 2. Create...
Sometimes the page is very long and needs an arro...