小编Kit*_*nde的帖子

Express-js无法获取我的静态文件,为什么?

我已将代码缩减为我可以制作的最简单的express-js应用程序:

var express = require("express"),
    app = express.createServer();
app.use(express.static(__dirname + '/styles'));
app.listen(3001);
Run Code Online (Sandbox Code Playgroud)

我的目录看起来像这样:

static_file.js
/styles
  default.css
Run Code Online (Sandbox Code Playgroud)

然而,当我访问时,http://localhost:3001/styles/default.css我收到以下错误:

Cannot GET / styles /
default.css
Run Code Online (Sandbox Code Playgroud)

我正在使用express 2.3.3node 0.4.7.我究竟做错了什么?

node.js express

297
推荐指数
9
解决办法
25万
查看次数

为什么Github在按照屏幕上的说明并推送新的回购时要求输入用户名/密码?

我是github上的一个组织的所有者,只是创建了一个repo并尝试推送但是我遇到了一个问题,即使我可以SSH正常,它也会问我的用户名:

$ ssh -T git@github.com
Hi Celc! You've successfully authenticated, but GitHub does not provide shell access.
$ git add .
$ git commit -m 'first commit'
[master (root-commit) 3f1b963] first commit
 6 files changed, 59 insertions(+)
 create mode 100644 .gitignore
 create mode 100644 main.js
 create mode 100644 package.json
 create mode 100644 readme.markdown
 create mode 100644 views/index.ejs
 create mode 100644 views/layout.ejs
$ git remote add origin https://github.com/WEMP/project-slideshow.git
$ git push -u origin master
Username for 'https://github.com':
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?这在我之前从未发生过,但我最近也升级到git 1.7.10.3.

git github

274
推荐指数
9
解决办法
19万
查看次数

Express-js通配符路由,涵盖路径下的所有内容

我正试图让一条路线覆盖/foo包括/foo它自己在内的一切.我已经尝试过使用/foo*哪些工作除了它不匹配/foo.注意:

var express = require("express"),
    app = express.createServer();

app.get("/foo*", function(req, res, next){
  res.write("Foo*\n");
  next();
});

app.get("/foo", function(req, res){
  res.end("Foo\n");
});

app.get("/foo/bar", function(req, res){
  res.end("Foo Bar\n");
});

app.listen(3000);
Run Code Online (Sandbox Code Playgroud)

输出:

$ curl localhost:3000/foo
Foo
$ curl localhost:3000/foo/bar
Foo*
Foo Bar
Run Code Online (Sandbox Code Playgroud)

我有什么选择?我提出的最好的方法是路由/fo*当然不是最优的,因为它太匹配了.

node.js express

82
推荐指数
4
解决办法
9万
查看次数

使用模拟补丁来模拟实例方法

我正在尝试使用富有想象力的Mock测试库测试Django应用程序时嘲笑某些东西.我似乎无法让它工作,我正在尝试这样做:

models.py

from somelib import FooClass

class Promotion(models.Model):
    foo = models.ForeignKey(FooClass)
    def bar(self):
       print "Do something I don't want!"


test.py

class ViewsDoSomething(TestCase):
    view = 'my_app.views.do_something'

    def test_enter_promotion(self):
        @patch.object(my_app.models.FooClass, 'bar')
        def fake_bar(self, mock_my_method):
            print "Do something I want!"
            return True

        self.client.get(reverse(view))
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

python mocking

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

我怎么能阻止git认为我做了重命名

我有两个文件index.htmltemplate.html.我最感动的index.htmltemplate.html现在的git认为我做了一个重命名当我添加这两个文件.在特定情况下是否可以防止这种情况?

git

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

如何在Mongoose中查询不同的值?

我有一个问题,我希望能够获得集合的所有独特城市,我的代码看起来像这样:

var mongoose = require("mongoose"),
Schema = mongoose.Schema;

var PersonSchema = new Schema({
    name: String,
    born_in_city: String
});
var Person = mongoose.model('Person', PersonSchema);
Run Code Online (Sandbox Code Playgroud)

在原生的MongoDb中,我可以做到db.person.distinct("born_in_city"),但似乎没有任何等同于Mongoose.是我自己迭代所有文档的唯一选择,还是有更好的解决方案?

为了尝试使用node-mongodb-native回复者建议的底层,我尝试这样做:

mongoose.connection.db.collections(function(err, collections){
  collections[0].distinct('born_in_city', function( err, results ){
    console.log( err, results );
  });
});
Run Code Online (Sandbox Code Playgroud)

然而,它results是空的,没有错误.我也希望能够只按名称获取所需的集合,而不是必须过滤collections返回的内容.

mongoose mongodb node.js

64
推荐指数
2
解决办法
7万
查看次数

如果我打开一个不是Django根的目录,PyCharm找不到正确的路径

我们的项目通常是:

/project-name
  /src
    /django-project-name
      etc..
readme.md
requirements.txt
Run Code Online (Sandbox Code Playgroud)

如果我打开/project-name而不是/django-project-namePyCharm强调我的导入说他们找不到它并且它试图引用src.django-project-name.app_name.models.Thing在运行Django时实际上找不到的导入.

我怎样才能让它像我在装载/djang-project-name这些东西的地方一样工作?

python django pycharm

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

是否可以在MySQL中创建一个UNIX_TIMESTAMP默认列?

我试图这样做,但似乎MySQL不允许我这样做.是否有解决此问题的方法,或者我希望在我的INSERT查询中始终包含该函数?

CREATE TABLE foo(
  created INT NOT NULL DEFAULT UNIX_TIMESTAMP()
)
Run Code Online (Sandbox Code Playgroud)

我知道接受CURRENT_TIMESTAMP默认值的TIMESTAMP类型,但我的客户端坚持在数据库中使用纪元时间.

mysql sql database database-design database-schema

35
推荐指数
5
解决办法
4万
查看次数

我需要一个可以完全访问单个存储桶的Amazon S3用户

我有一个具有以下权限的用户foo(它不是任何组的成员):

{
  "Statement": [
    {
      "Sid": "Stmt1308813201865",
      "Action": "s3:*",
      "Effect": "Allow",
      "Resource": "arn:aws:s3:::bar"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

然而,在我授予对经过身份验证的用户(可能适用于任何人)的完全访问权限之前,该用户似乎无法上传或执行任何操作.这仍然不允许用户更改权限,因为在尝试执行上传后会抛出错误key.set_acl('public-read').

理想情况下,这个用户可以完全访问bar存储桶,没有别的,我做错了什么?

amazon-s3 amazon-web-services user-permissions amazon-iam

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

为什么express-js不设置Content-Type标头?

我有以下内容:

var express = require('express'),
    app = express.createServer();

app.get("/offline.manifest", function(req, res){
  res.contentType("text/cache-manifest");
  res.end("CACHE MANIFEST");
});

app.listen(8561);
Run Code Online (Sandbox Code Playgroud)

Chrome中的网络标签显示它是text/plain.为什么不设置标题?

上面的代码有效,我的问题是由链接到旧版本的express-js引起的

javascript offline-caching http-headers node.js express

26
推荐指数
2
解决办法
5万
查看次数