2017-04-14 112 views
0

我目前正在通过节点js应用程序服务angular1应用程序。 我想为我的angular1应用程序以及来自同一个域的angular2应用程序服务于此节点服务器。 我已经按照我的节点js文件的app.js设置:根据URL设置nodejs项目目录

var staticDir = nodeEnv == 'development' ? path.join(__dirname, '/home/sovf/ang1/') : '/data/project/angular/app'; 

我angular1项目目录是在这里:/家庭/ sovf/ANG1/ 我angular2项目目录是在这里:/家庭/ svof/ANG2/

我如何配置staticDir使用“/家庭/ svof/ANG2 /”,当URL匹配/ ANG2/*

我试图enogh寻找资源和节点配置了这一点,但可能找不到任何东西。任何人都可以在这里帮忙。

回答

1

您可以创建一个使用/home/svof/ang2为根目录(它应该寻找静态资源)的express.static一个新的实例,“摩的”上/ang2该实例,所以将只匹配以该前缀开头的请求:

app.use('/ang2', express.static(path.join(__dirname, '/home/svof/ang2'))); 
+0

我尝试添加此: app.use( '/新/',express.static(path.join(__目录名, '/家庭/ svof/ANG2'))); 但是这次静态资源不加载,我在控制台中得到这个错误: 无法获取GET https://hostname/inline.bundle.js 不知道我在哪里丢失 – undefined

+0

它似乎已经选择了索引。正确的HTML,但不是JS文件。 – undefined

+0

什么是目录结构,以及如何从HTML请求JS文件?理想情况下,你需要使用绝对路径('/ ang2/js/somefile.js') – robertklep