嗨,我开始一个项目的nodejs应用程序与angular7。这是我在nodejs中的邮件server.js文件
var express = require('express');
var mysql = require('mysql');
var bodyParser = require('body-parser')
var cookieParser = require('cookie-parser');
var router = express.Router();
var app = express();
app.use(cookieParser());
app.use( bodyParser.json() ); // to support JSON-encoded bodies
app.use(bodyParser.urlencoded({ // to support URL-encoded bodies
extended: true
}));
app.set('view engine', 'pug');
app.set('views', __dirname + '/app/views');
app.use(express.static(__dirname + '/public'));
app.use('/', express.static(__dirname + '/angular/src'));
require('./app/routes')(router);
app.use(router);
app.listen(2233, function(){
console.log('app started on 2233');
});这行app.use('/', express.static(__dirname + '/angular/src'));表示,我希望在nodejs应用程序加载的角文件夹中呈现src文件夹,但这是呈现空白屏幕。当我运行ng build并将其更改为app.use('/', express.static(__dirname + '/angular/dist'));时,就开始工作。
所有教程显示运行ng build和运行角内节点,但为什么我可以使用src文件夹内nodejs。
发布于 2019-04-13 06:49:30
src文件夹在开发期间使用。它们是具有可读格式的程序的实际源文件。
当您进行ng构建时,将生成dist,它会将所有src文件、资产和节点模块组合在一起并缩小到一个小包中。
因此,在部署中使用src是没有意义的。
更新的:当您正在开发时,正如您所说的,对于每一个小的更改,减少代码和重新构建整个代码都需要花费大量的时间。因此,当我们执行ng serve时,它只会将文件转换为js,而不会缩小或发生其他事情。
如果您复制src以供部署,那么src将不能工作,如果您使用的是最新的角度,那么src包含.ts文件,并且您必须将它转换到JS,并进行一些必要的修改,以便浏览器能够理解它。
https://stackoverflow.com/questions/55662762
复制相似问题