Angular 7-在浏览器上仅呈现“ dist”文件夹,而在nodejs上不呈现“ src”文件夹

时间:2019-04-13 06:36:34

标签: javascript node.js angular

嗨,我正在用angular7开始一个nodejs应用程序项目。这是我在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并在节点内运行有角,但是为什么我可以在nodejs内使用src文件夹。

1 个答案:

答案 0 :(得分:1)

src文件夹在开发过程中使用。它们是实际的源文件,具有可读取格式的程序。

dist是在构建时生成的,它将所有src文件,资产和节点模块组合在一起并缩小为一个小包。

因此,在部署中没有必要使用src

已更新: 正如您所说的那样,在进行开发时,精简代码并再次构建整个代码需要花费大量时间。因此,当我们执行ng serve时,它将仅将文件转换为js,但是不会缩小或发生其他事情。

如果您复制src以进行部署,为什么src将不起作用,如果您使用的是最新的Angular,则src包含.ts文件,并且必须对其进行一些修改才能转换为JS,以便浏览器可以理解。