【问题标题】:I am having issues getting the src tags for my js and css files to work我在获取 js 和 css 文件的 src 标记时遇到问题
【发布时间】:2014-12-06 21:09:47
【问题描述】:

我正在尝试使用 HTML5 boostrap express js angular 和 jquery 开发示例 Web 应用程序。我一直在与要包含的 js 和 css 文件的源标签作斗争,除非我使用在线托管的文件,否则它们无法正常工作。如果有人有空闲时间,这就是我的标头代码的样子

index.html
<script type="text/javascript" src="/bower_components/jquery/dist/jquery.js"></script>
<link rel="stylesheet" type="text/css" href="/bower_components/bootstrap/dist/css/bootstrap.css"/>
<script type="text/javascript" src="/bower_components/bootstrap/dist/js/bootstrap.js"></script>
<link rel="stylesheet" type="text/css" href="style.css"/>
------------------------------------------------------------------------------------
app.js
var express = require('express');
var path = require('path');
var app = express();

//config
app.set('views', __dirname + '');
app.engine('html', require('ejs').renderFile);

//routes
app.get('/',function(req,res){
res.render('index.html')
});

//server
app.listen(1337,function(){
console.log('ready on port 1337');
})

这是我的文件结构的截图

我的服务器正在根文件夹中的 app.js 中运行。我尝试了许多 ../ 的变体,没有斜线,甚至是 ~ 试图让它运行。提前感谢您的宝贵时间。

编辑因此,虽然我一直在搞乱,但我意识到如果我打开 index.html 文件而不在我的快速服务器上运行它,它就可以正常工作。我已经更新了上面的代码部分以包含我的 app.js。

已解决 非常感谢 suchit、dfsq 和 Anubhav。 因此,由于我使用的是 express,所以我需要告诉 express 如何正确路径到我的 app.js 中的静态 src 文件“又名 js 和 css”。因此,我提供的答案仅在您在快速服务器上运行应用程序时才有意义。我将提供添加到我的 app.js 文件和我的 index.html 文件中的代码以找到解决方案。

app.js


app.use(express.static(__dirname + '/bower_components'));
--------------------------------------------------
index.html


<script type="text/javascript" src="/bower_components/jquery/dist/jquery.js"></script>
<link rel="stylesheet" type="text/css" href="/bootstrap/dist/css/bootstrap.css"/>
<script type="text/javascript" src="/bootstrap/dist/js/bootstrap.js"></script>
<link rel="stylesheet" type="text/css" href="style.css"/>

此致,

弗雷德·K

【问题讨论】:

  • 尝试使用:src="../bower_components/jquery/dist/jquery.js"
  • 很抱歉我试过了。我回去再试了一次,谢谢你的尝试,但是没有成功。
  • 应该是src="bower_components/jquery/dist/jquery.js"。因为看起来 index.html 和 bower_components 文件夹在同一级别。
  • 也添加您的 app.js 代码。
  • 是的,我同意你的看法。我认为它应该像您的答案 dfsq 一样,但这似乎也不起作用。感谢您的及时回复。

标签: javascript html css twitter-bootstrap express


【解决方案1】:

app.use(express.static(__dirname + '/bower_components'));添加到app.js (这是一个配置)然后链接到静态文件可以写成&lt;script type="text/javascript" src="/bootstrap/dist/js/bootstrap.js"&gt;&lt;/script&gt;

这假设您的所有静态文件(例如 javascript 和 CSS 文件)都位于您的 /bower_components 文件夹中。

该语句指示应用将/bower_components 设为所有静态文件的根目录。

app.js 现在看起来像

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

//config
app.set('views', __dirname + '');
app.engine('html', require('ejs').renderFile);
app.use(express.static(__dirname + '/bower_components'));

//routes
app.get('/',function(req,res){
    res.render('index.html')
});

//server
app.listen(1337,function(){
    console.log('ready on port 1337');
})

【讨论】:

  • 谢谢,这似乎是我一直在寻找的东西,我必须在户外跑步,大约 5-6 分钟后会进行测试,然后会回来告诉你进展如何。谢谢。
  • 是的,非常感谢。抱歉,快递是我很陌生的东西。
  • 您可能想了解middlewares in express 及其工作原理。这是 express 的重要组成部分。
  • 是的,我同意这是个好主意。我要从应用程序中休息一下,现在就开始研究它。谢谢你的建议。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-08-21
  • 2021-07-08
  • 2021-05-10
  • 1970-01-01
  • 2022-06-13
  • 2012-06-06
  • 2021-06-04
相关资源
最近更新 更多