2012-03-19 61 views
1

我正在构建一个网站,在前端使用端口80上的Apache + PHP,而在端口3000上使用Node.js + Socket.IO进行动态更新。两者之间很少有共享的Javascript资源,我想知道我可以如何分享它们。Node.js和Apache/PHP之间共享的javascript资源

这里是我的项目布局:

project/ 
    www/     // Apache DocumentRoot 
     index.php 
     js/    // Javascript files for the HTML pages 
     css/ 
    app/ 
     App.php   // All the PHP files 
    node/ 
     node_modules/ // Node modules installed by NPM 
     app.js   // Node.js application 

当我的PHP应用程序生成的HTML代码,它需要把一些<script>标签<head>的东西像underscore.js,Backbone.js的,socket.io.js, etcerea。但是这些脚本都在node_modules目录中的某处。

我已经看到了各种示例,但大多数使用Node.js来为HTML页面提供服务(通常使用快速框架)。所以,他们生成的脚本包括如/socket.io/socket.io.js。但在我的情况下,我有两个服务器在两个端口上运行。

那么,如何我可以加载正确的JavaScript文件,而不从node_modules目录手动复制的东西DocumentRoot的下js目录?

回答

3

有2个选项:

  • 创建符号链接(从WWW指向/ JS来node_modules)
  • 在你创建一个Apache2的别名Apache的配置文件(见here

如果你有权访问你的Apache2配置,第二个解决方案可能是更好的。在使用符号链接解决方案时,如果遇到问题,请确保仔细检查文件夹的所有权。

+0

我接受你的答案为正确答案。最后,我选择了不同的解决方案。我现在使用Phing作为构建系统,我只需将它复制到正确的目录(并同时缩小它们)。 – 2012-05-15 08:07:34