2017-02-20 162 views
0

我已经用快速生成器构建了一个新应用程序,所以我已经为公共目录提供了javascripts,我猜想它是针对客户端的。但我无法访问这些文件。 我app.js有一个绝对路径在express.js中包含客户端js

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

但是当我把我的index.html页面上对身体的底部这样

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

我有一个内部错误控制台与404关于这个脚本。

+0

而'public/javascripts/main.js'存在吗? – robertklep

+0

是的。这个所有目录创建快递发电机 – ddeadlink

+0

我创建了一个快递发电机项目,它对我来说工作得很好。您是否更改了可能导致路由中断的创建应用的任何部分?另外,我假设你正在运行服务器(而不是直接通过文件系统)请求'index.html'。 – robertklep

回答

0

我正在开发类似的东西。我有我的JavaScript文件在公用文件夹中的js文件夹。这是我的链接,javascript和我没有得到任何错误:

<script src="js/options.js"></script> 

我认为你需要删除一个共同的斜线在“SRC”标签或正确地关闭“脚本”

+0

不适合我。应该有一个想法,为什么他们为所有这些创建公共目录 – ddeadlink

1

您需要安装铁笔和笔尖npm模块

var express = require('express') 
    , stylus = require('stylus') 
    , nib = require('nib') 

    function compile(str, path) { 
    return stylus(str) 
    .set('filename', path) 
    .use(nib()) 
} 

app.use(stylus.middleware(
    { src: __dirname + '/public' 
    , compile: compile 
    } 
)) 
app.use(express.static(__dirname + '/public'))