【问题标题】:Can not get statics files无法获取静态文件
【发布时间】:2015-05-05 01:27:30
【问题描述】:

我正在尝试在我的 express js 应用程序中添加 Jquery-ui 日期时间选择器,但出现 404 错误。

<p>Date: <input type="text" id="datepick"></p>
<link rel="stylesheet" type="text/css"
href="stylesheets/jquery.datetimepicker.css"/ > <script
src="javascripts/jquery.js"></script> <script
src="javascripts/jquery.datetimepicker.js"></script>

<script type="text/javascript"> $(document).ready(function() {
    $("#datepick").datepicker(); }) 
</script>

这是我的代码,静态文件在 public 文件夹下的 public javascripts 和 stylesheets 中。

注意:快递代码

app.use(express.static(path.join(__dirname, 'public')));

EDIT1:控制台错误

GET /historicos/javascripts/jquery.datetimepicker.js 404 2.263 ms - 948

火狐报错

GET http://localhost:3000/historicos/stylesheets/jquery.datetimepicker.css [HTTP/1.1 404 Not Found 15ms]
GET http://localhost:3000/historicos/javascripts/jquery.js [HTTP/1.1 404 Not Found 28ms]
GET http://localhost:3000/historicos/javascripts/jquery.datetimepicker.js [HTTP/1.1 404 Not Found 26ms]
GET http://localhost:3000/historicos/javascripts/jquery.datetimepicker.js [HTTP/1.1 404 Not Found 3ms]
ReferenceError: $ is not defined historicos:25

【问题讨论】:

  • 您必须向我们展示您为这些文件提供服务的快速代码。 node.js 和 Express 默认不提供任何文件。
  • 您能否查看开发控制台或服务器上的错误日志并准确告诉我们是什么给了您 404?
  • 更新了错误
  • 您需要了解这里涉及的所有各种绝对路径。 __dirname 是什么?这些脚本标签所在文件的 URL 是什么?这些文件所在的实际目录层次结构是什么?为什么要使用脚本的相对路径,这很容易引起混淆,当然没有必要?
  • __dirname 是一个与 url 相关的 express 变量,例如 localhost:3000/historicos,文件层次结构是公共的,其中包含 javascripts 和样式表

标签: jquery html node.js express static-files


【解决方案1】:

假设您有以下文件树:

/root
    /public
        /stylesheets
        /javascripts
    server.js

/root/server.js

 app.use(express.static(path.join(__dirname, '/public')));

然后:

 GET http://localhost:3000/stylesheets/jquery.datetimepicker.css

现在,如果您希望 url 以 /historicos 为前缀,您需要将其指定为 app.use() 函数的第一个参数: p>

/root/server.js

 app.use('/historicos', express.static(path.join(__dirname, '/public')));

现在你可以这样做了:

 GET http://localhost:3000/historicos/stylesheets/jquery.datetimepicker.css

【讨论】:

    猜你喜欢
    • 2013-08-09
    • 1970-01-01
    • 2020-08-12
    • 2015-09-21
    • 2018-04-09
    • 2011-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多