我正在创建一个新的Angular 4应用程序。我遵循了官方教程https://angular.io/tutorial/
使用ng serve
命令启动应用程序服务器。
我创建了一个单独的节点js(+ express)服务器,该服务器在其他端口上为主应用程序提供REST服务。
是否可以通过同一nodejs / express服务器为主要的角度应用程序提供服务,因此我不必为该应用程序使用两个服务器?
我使用过打字稿,如果我理解正确的话,则需要以某种方式将其编译为纯javascript,然后再通过nodejs进行静态投放?
答案 0 :(得分:0)
当然,只需使用ng build并提供已构建应用程序的dist文件夹,甚至是src。示例:
const staticFor = rel => express.static(path.resolve(__dirname, rel));
const app = express();
if (!config.production) {
app.use('/node_modules', staticFor('../node_modules'));
// In development we do not copy the files over, so map used path
}
app.use('/', staticFor('../dist/app'));
const appPath = path.resolve(
__dirname,
config.production ? '../dist/app/index.html' : '../src/app/index.html'
);
app.get('/yourAppPath/*', (req, res) => {
const markup = fs.readFileSync(appPath, 'utf8');
res.send(markup);
});
不要忘记需要正确的库。