我正在学习使用node.js。
从file:///C:/.../myfolder/index.html
开始运行时网站看起来很好
我在目录myfolder/css/
和myfolder/js
中有我的jquery和bootstrap文件。
但是当我运行node index.js
并转到localhost:3000
时,找不到这些css和js文件。
这是我的index.html文件中的内容:
<link href="/css/bootstrap.min.css" rel="stylesheet">
<script src="/js/bootstrap.min.js"></script>
<script src="/js/jquery.js"></script>
<script src="/socket.io/socket.io.js"></script>
我应该在nodejs中存放一些我应该存储这些文件的文件夹吗?或者我是否必须在index.js中放入一些导入所有css和js文件的代码?
答案 0 :(得分:0)
您的localhost从您计算机上的特定目录开始。如果使用Xampp,则必须将所有服务器文件放在C:\ xampp \ htdocs \中,以便通过localhost URL访问这些文件。其他一些服务器使用名为“www”的文件夹。
找到您的服务器根路径并将您的文件放在那里。或者从服务器根目录创建符号链接到文件。
答案 1 :(得分:0)
您需要路径模块吗?
var path = require('path');
最好创建一个public
目录来存储文件。
public/index.html
public/css/style.css
public/js/scripts.js
答案 2 :(得分:0)
您可以在此处按照Express.js的快速入门说明进行操作:
https://www.npmjs.org/package/express
然后浏览到http://localhost:3000
进行测试
您可以使用Atom文本编辑器或Brackets,将文件放在public
文件夹下并引用它们。
http://atom.io
http://brackets.io
默认情况下,Express使用名为Jade的模板引擎。您可以在此处查看:
祝你好运!答案 3 :(得分:0)
您无法访问 localhost:3000 / folder / file 的原因是 localhost:port 只是一个虚拟端口。没有这样的目录,称为 localhost:3000 / css / 或 localhost:3000 / js 。
要解决此问题,您需要使用express模块配置用于服务静态资产的根目录。
基本上,您需要添加以下代码:
var express=require('express');
var app=express();
var path=require('path');
app.use(express.static(path.join(__dirname,'public')));
,您的静态文件目录将是currentWorkingDirectory / public /,其中包含您的所有资产。
在您的代码中,要链接任何源文件,
href='/fileName.extention'
这里是文档链接express-static-files