脚本没有被调用

Fou*_*_lo 6 html css node.js express

我正在使用ExpressJS.我的脚本或CSS不会加载.

<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
    <meta name="apple-mobile-web-app-capable" content="yes"/>
    <meta name="apple-mobile-web-app-status-bar-style" content="black"/>
<title>Customer Info</title>

    <link rel="stylesheet" href="/stylesheets/testing.css" type="text/css" media="screen" charset="utf-8"/>

    <script type="text/javascript" src="/javascripts/jquery-1.9.1.js"></script>
    <script src="/javascripts/jquery-ui-1.10.2.custom.js" type="text/javascript" charset="utf-8"></script>

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



  </head>
   <body>
        //body contents
   </body>
</html>
Run Code Online (Sandbox Code Playgroud)

我知道问题不在于位置.当我在express中呈现此EJS视图时,没有任何脚本正在加载.我无法理解为什么它可以用于几乎相同的视图,但不是这个视图.有任何想法吗?

mit*_*esh 4

步骤1

在您的node.js文件中找到配置 Express 的部分。

会是这样的。

 var express = require('express')
               , app = express();

 app.configure(function() {
    //configure the express codes go here
 }
Run Code Online (Sandbox Code Playgroud)

在其中检查配置提供静态文件的文件夹的代码行。比如图像、css 和 js。我会喜欢。

app.use(express.static(__dirname + '/public'));
Run Code Online (Sandbox Code Playgroud)

在上面的情况下,这里应该正是包含和public的父文件夹的名称stylesheetsjavascripts

喜欢

--app.js
--package.json
--views/
--node_modules/
--public/
     --stylesheets/
        --testing.css
     --javascripts/
        --jquery-1.9.1.js
        --jquery-ui-1.10.2.custom.js
        --testing.js
Run Code Online (Sandbox Code Playgroud)

第2步

如果以上配置正确,那么您可以确保

app.use(express.static(__dirname + '/public'));
Run Code Online (Sandbox Code Playgroud)

在配置之前

app.use(app.router);
Run Code Online (Sandbox Code Playgroud)

这样您就可以确保您在路由器中编写的 404 路由处理程序不会忽略您的线路。

步骤3

Firebug您可以使用或检查渲染的页面Chrome inspector,并在网络选项卡中检查您收到的针对您提到的 js 和 css 文件的响应是什么。根据您的问题,应该是 404 文件未找到,如果是其他内容,您应该在问题中更新它。

步骤4

如果您仍然无法解决问题,那么您必须使用您正在使用的 node.js 代码更新问题。这样我们就可以调查它。