코드를 가장 간단한 express-js 앱으로 축소했습니다.
var express = require("express"),
app = express.createServer();
app.use(express.static(__dirname + '/styles'));
app.listen(3001);
내 디렉토리는 다음과 같습니다
static_file.js
/styles
default.css
그러나 액세스 할 때 http://localhost:3001/styles/default.css
다음 오류가 발생합니다.
Cannot GET / styles /
default.css
그리고를 사용 express 2.3.3
하고 node 0.4.7
있습니다. 내가 뭘 잘못하고 있죠?
답변
시도하십시오 http://localhost:3001/default.css
.
/styles
요청 URL에 포함 시키 려면 다음을 사용하십시오.
app.use("/styles", express.static(__dirname + '/styles'));
이 페이지 의 예를 살펴보십시오 .
//Serve static content for the app from the "public" directory in the application directory.
// GET /style.css etc
app.use(express.static(__dirname + '/public'));
// Mount the middleware at "/static" to serve static content only when their request path is prefixed with "/static".
// GET /static/style.css etc.
app.use('/static', express.static(__dirname + '/public'));
답변
나도 같은 문제가있어. 다음 코드로 문제를 해결했습니다.
app.use('/img',express.static(path.join(__dirname, 'public/images')));
app.use('/js',express.static(path.join(__dirname, 'public/javascripts')));
app.use('/css',express.static(path.join(__dirname, 'public/stylesheets')));
정적 요청 예 :
http://pruebaexpress.lite.c9.io/js/socket.io.js
더 간단한 해결책이 필요합니다. 존재합니까?
답변
default.css
에 이용 가능해야한다 http://localhost:3001/default.css
styles
의 app.use(express.static(__dirname + '/styles'));
단지는에보고 표현 알려줍니다 styles
봉사하는 정적 파일 디렉토리. 사용 가능한 경로의 일부를 혼동하지 않습니다.
답변
이것은 나를 위해 작동합니다 :
app.use('*/css',express.static('public/css'));
app.use('*/js',express.static('public/js'));
app.use('*/images',express.static('public/images'));
답변
server.js에서 :
var express = require("express");
var app = express();
app.use(express.static(__dirname + '/public'));
express와 app을 별도로 선언하고 ‘public’이라는 이름의 폴더를 만들거나 원하는대로 만들 수 있지만이 폴더에 액세스 할 수 있습니다. 템플릿 src에서 / public의 상대 경로 (또는 폴더 운명의 이름을 정적 파일)를 추가했습니다. 경로에있는 막대를주의하십시오.
답변
나를 위해 일한 것은 다음과 같습니다.
app.use(express.static(__dirname + 'public/images'));
app.js 를 작성하는 대신
간단히 쓰기
app.use(express.static('public/images'));
즉, 경로에서 루트 디렉토리 이름을 제거하십시오. 그런 다음 다른 js 파일에서 정적 경로를 효과적으로 사용할 수 있습니다. 예를 들면 다음과 같습니다.
<img src="/images/misc/background.jpg">
도움이 되었기를 바랍니다 🙂
답변
내 응용 프로그램에서 Bootstrap CSS, JS 및 Fonts를 사용하고 있습니다. 나는라는 폴더 생성 asset
루트 응용 프로그램의 디렉토리와 장소 그 안에 모든 폴더에 있습니다. 그런 다음 서버 파일에서 다음 줄을 추가했습니다.
app.use("/asset",express.static("asset"));
이 줄을 사용하면 다음과 같은 경로 접두사 asset
에서 디렉토리 에있는 파일을로드 할 수 있습니다 ./asset
http://localhost:3000/asset/css/bootstrap.min.css
이제 뷰에서 아래처럼 CSS와 JS를 간단히 포함시킬 수 있습니다.
<link href="/asset/css/bootstrap.min.css" rel="stylesheet">
