在express.js中包含客户端js

在express.js中包含客户端js,express,Express,我已经用一个express生成器构建了一个新的应用程序,所以我已经为客户端准备了带有javascripts的public dir。但我无法访问这些文件。 我的app.js有一个绝对路径 app.use(express.static(path.join(__dirname, 'public'))); 但是当我像这样把index.html页面放在身体底部时 <script type="text/javascript" src="/javascripts/main.js"> 我

我已经用一个express生成器构建了一个新的应用程序,所以我已经为客户端准备了带有javascripts的public dir。但我无法访问这些文件。 我的app.js有一个绝对路径

 app.use(express.static(path.join(__dirname, 'public')));
但是当我像这样把index.html页面放在身体底部时

 <script type="text/javascript" src="/javascripts/main.js">


我在一个控制台中发现了一个关于这个脚本的404错误

我正在开发类似的东西。我的javascript文件在公用文件夹的js文件夹中。这是我的javascript链接,我没有收到任何错误:

<script src="js/options.js"></script>


我认为您需要删除“src”标记中的公共斜杠或正确关闭“script”

您需要安装手写笔和nib npm模块

    var express = require('express')
  , stylus = require('stylus')
  , nib = require('nib')

    function compile(str, path) {
  return stylus(str)
    .set('filename', path)
    .use(nib())
}

 app.use(stylus.middleware(
  { src: __dirname + '/public'
  , compile: compile
  }
))
app.use(express.static(__dirname + '/public'))

还有
public/javascripts/main.js
是否存在?是的。这是所有目录创建的express generatorI创建了一个带有express generator的项目,它对我来说很好。您是否更改了创建的应用程序中可能导致路由中断的任何部分?另外,我假设您正在从正在运行的服务器(而不是直接通过文件系统)请求
index.html
。这对我不起作用。应该知道他们为什么要为所有这些创建公共目录