您可以使用这样的设置:
-client/ // for your angular application (frontend)
-node_modules/ // node modules
-routes/ // route files for your express
-app.js // your main app
-package.json // your package.json with all the dependencies and so on
创建一个项目文件夹并运行npm init,它会自动为您创建一个package.json。然后您可以通过ng new client 创建客户端应用程序。
然后您只需在项目的根文件夹中运行git init。
如果您不想提交项目的某些部分,请使用.gitignore 文件。
在您的 node 后端的 app.js 中只需要 express 和其他相关包,例如:
var express = require('express');
var path = require( "path" );
var bodyParser = require('body-parser');
var expressValidator = require('express-validator');
var cors = require('cors');
var app = express();
var port = 65500;
var router = express.Router();
....
..
并定义你的express-routes
var authRouter = require('./routes/auth')(router);
var servicesRouter = require('./routes/services')(router);
....
..
app.use('/auth', authRouter); // Route to authenticate login attempt
app.use('/services', servicesRouter); // Route to perform other services
....
..
// wildcard:
app.get('*', (req, res) => {
res.sendFile(path.join(__dirname + '/public/index.html'));
});
// INFO: Start the node server */
app.listen(port, () => console.log(`Node's Express ice-dashboard-new is listening on
Port ${port}..`));
例如,在 /client/src/app/components 中,您可以使用 CLI 通过 ng generate component someComponentName 生成任何组件,Angular CLI 将为您完成所有魔法。 (生成 .html .css/.scss、.ts 和 .spec.ts 并将其添加到 app.modules.ts)。
services 将字体连接到后端也是如此。只需使用像 ng generate service someServiceName 这样的 CLI - 但请记住,您必须将它们添加到 app.module.ts 中 @NgModule-declaration 的“提供者”中。
如果您有额外的后端资产,只需在应用程序的根文件夹中创建一个文件夹,并在您的 app.js 中额外要求它们以使用它们(如 /config 或 /helperz 等)
对于前端资产(如图像、i18n 翻译文件或其他),请使用 /client/src/assets 文件夹。
基本上,您的应用由两部分组成 - 为应用提供服务并为后端操作提供路由的节点后端和 Angular 前端应用(html、css/scss 和 js),这里有一个小图来说明该设置以便更好地理解.
Nodemon 是一个非常方便的工具,该实用程序将监视源代码中的任何更改并自动重新启动服务器。非常适合开发。
只需使用 nodemon 而不是 node 来运行您的代码,现在您的进程将在您的代码更改时自动重新启动。要安装,请获取 node.js,然后从您的终端使用 -g 选项通过以下方式全局安装它:
npm install -g nodemon
为了更好地理解,请查看以下示例,了解其他人如何设置他们的项目: