Node.js Express.js服务目录中关于项目根的文件

Node.js Express.js服务目录中关于项目根的文件,node.js,file,express,static,serve,Node.js,File,Express,Static,Serve,我想将node.js/express.js UI(html/resources)从现有的项目目录中分离出来。瞧,我想移动我所有的静电传感器 html/js/css..etc导入外部目录,在我的项目目录上方。 例如: 我能够很好地提供html文件。但是,我在获取静态资源(js/css..etc)时遇到了问题,或者html文件无法正确引用这些资源 在我的节点项目中,在app.js中,我厌倦了这个 app.use('cust1', express.static(path.join(__dirname,

我想将node.js/express.js UI(html/resources)从现有的项目目录中分离出来。瞧,我想移动我所有的静电传感器 html/js/css..etc导入外部目录,在我的项目目录上方。
例如:

我能够很好地提供html文件。但是,我在获取静态资源(js/css..etc)时遇到了问题,或者html文件无法正确引用这些资源

在我的节点项目中,在app.js中,我厌倦了这个

app.use('cust1', express.static(path.join(__dirname, "../UI_1/public")));
然后在html中

 <script src="cust1/javascripts/status.js"></script>


这可能吗???,谢谢。

如果
/NodeJSProject
/UI\u 1
处于同一目录级别,那么如果您向脚本标记中的路径添加
/
,并删除不在静态目录层次结构中的
/cust1
,它应该可以工作:

<script src="/javascripts/status.js"></script>
这将使浏览器请求的路径成为绝对路径,而不是相对于宿主HTML页面所在的位置。当您关闭前导的
/
时,浏览器将使用包含HTML文件的路径,该路径可能是您想要的,也可能不是您想要的。当您在其上使用
/
时,与包含的HTML文件的路径没有任何关系,而且更容易对所请求的内容保持一致,因此您可以将其与
express.static()
匹配

我不知道为什么“cust1”出现在你的
应用程序中。使用()
语句是因为你在静态资源中的任何地方都没有显示任何
cust1
,所以我建议你删除它。如果你认为有必要,那么请解释它的用途和原因


您还可以在两个路径/URL中都有
cust1
,前面有
/

<script src="/cust1/javascripts/status.js"></script>
但是,这似乎不是必需的。如果有一个
cust2
,那么您必须为每个客户定制所有内容,并为每个客户提供单独的中间件

app.use(express.static(path.join(__dirname, "../UI_1/public")));
<script src="/cust1/javascripts/status.js"></script>
app.use(express.static("/cust1", path.join(__dirname, "../UI_1/public")));