gpt4 book ai didi

javascript - 如何将 Angular 和 Nodejs 安装在同一文件夹中

转载 作者:太空宇宙 更新时间:2023-11-04 03:19:54 26 4
gpt4 key购买 nike

我是 NodeJsAngular 的新手,我使用 this link 创建了简单的 Nodejs 应用程序但没有关于如何与 Nodejs 一起安装 Angular 的示例。我尝试在根文件夹中运行 ng new angular-crud ,它在 root 文件夹中创建了 angular-crud 文件夹。现在我有 2 个 node_modules 文件夹,第一个在 root 文件夹中,第二个在 angular-crud 文件夹中。

a) 安装::如何安装 Angular,以便始终只有一个 node_modules 文件夹。

b) RUN::Nodejs 应用程序使用命令 node app.js 运行,其中 app.js入口点,但另一方面,Angular 应用程序使用 ngserve 运行。如果我同时安装了 Nodejs 和 Angular,那么如何运行该应用程序。

c) 结构::一起使用 Node 和 Angular 时理想的文件夹结构应该是什么。

我的 package.json 文件:

{
"name": "test-na",
"version": "0.0.1",
"dependencies": {
"body-parser": "^1.18.3",
"cors": "^2.8.4",
"express": "^4.16.3"
},
"description": "test",
"main": "app.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC"
}

我的 app.js 文件:

const bodyParser = require('body-parser');
const express = require('express');
const cors = require('cors');
const app = express();

var corsOptions = {
origin: 'http://example.com',
optionsSuccessStatus: 200 // some legacy browsers (IE11, various SmartTVs) choke on 204
};

app.use(bodyParser.json());
app.use(cors(corsOptions));


app.route('/api/cats').get((req, res) => {
res.send({
cats: [{ name: 'lilly' }, { name: 'lucy' }]
});
});

app.route('/api/cats').post((req, res) => {
res.send(201, req.body);
});

app.route('/api/cats/:name').get((req, res) => {
const requestedCatName = req.params['name'];
res.send({ name: requestedCatName });
});

app.route('/api/cats/:name').put((req, res) => {
res.send(200, req.body);
});

app.route('/api/cats/:name').delete((req, res) => {
res.sendStatus(204);
});

app.listen(8000, () => {
console.log('Server started');
});

最佳答案

Angular 旨在创建单页面应用程序:如果您不会执行服务器端渲染,您可能不应该在 NodeJs 应用程序中嵌入 Angular 应用程序。

相反,Angular 应用程序应该位于其自己的文件夹中(并且通常位于其自己的服务器中),并通过触发 API 调用来与 nodeJs 应用程序连接。

例如,您可以拥有域名 https://acme.com 静态为 Angular 应用程序提供服务,并且您的 Angular 应用程序将针对 https://acme.com/api/v1/ 执行 api 请求.

除非你需要server side rendering (我对 Angular SSR 几乎一无所知),将 Angular 嵌入到 NodeJs 应用程序中可能不会获得任何好处。 If you follow the Angular deploy guide ,您将看到提供和部署 Angular 应用程序的预期形式是从 Apache 或 Ngnx 静态提供 Angular 应用程序。

关于javascript - 如何将 Angular 和 Nodejs 安装在同一文件夹中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51495339/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com