相关疑难解决方法(0)

Heroku(Cedar)+ Node + Express + Jade子目录中的客户端javascript文件与foreman + curl本地工作,但在推送到Heroku时不能

我是node和heroku的新手,我怀疑这是一种简单的权限问题,但我似乎无法追踪它.

我在我的web.js文件所在的根目录下一级的子目录中有几个纯javascript文件.我在web.js文件中有一行来指定目录

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

如果我在Heroku Foreman本地运行我的应用程序,当我运行以下curl命令时,我得到了预期的js响应

 curl localhost:5000/heatcanvas/heatcanvas.js
Run Code Online (Sandbox Code Playgroud)

但是当我推送到Heroku并在浏览器中点击相应的实时网址时

www.example.com/heatcanvas/heatcanvas.js
Run Code Online (Sandbox Code Playgroud)

我收到以下内容:

 Cannot GET /heatcanvas/heatcanvas.js
Run Code Online (Sandbox Code Playgroud)

如果我检查萤火虫和/或Heroku的日志,我看到我实际得到404错误,即使该路径功能应符合什么被本地完成这些文件.还值得一提的是,第三方JavaScript是在就好了未来,只有当脚本标记点到我的网站src属性,有一个问题.我需要做什么才能使我的脚本可用?

javascript heroku node.js express pug

9
推荐指数
1
解决办法
2586
查看次数

获取express.js以显示公用文件夹

我最近使用express.js构建了一个快速的单页应用程序,这实际上是我的第一个js框架(实际上,我的第一个js项目,所以我真的很新).我已经订阅了新的typography.com云字体,而且我无法找到我放在公共文件夹中的"fonts"文件夹.有没有办法我需要添加文件夹并指定路线?

这是我的app.js文件:

/**
 * Module dependencies.
 */

var express = require('express'),
    routes = require('./routes'),
    user = require('./routes/user'),
    http = require('http'),
    path = require('path');

var app = express();

// all environments
app.set('port', process.env.PORT || 3000);
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static('public'));

// development only
if ('development' == app.get('env')) {
  app.use(express.errorHandler());
}

app.get('/', routes.index);
app.get('/users', user.list);

http.createServer(app).listen(app.get('port'), function(){
  console.log('Express server listening on port ' + app.get('port'));
});
Run Code Online (Sandbox Code Playgroud)

我根本没有对路线做任何改变,所以它们只是默认的.

javascript node.js express

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

express ×2

javascript ×2

node.js ×2

heroku ×1

pug ×1