不能GET /file.js

时间:2016-02-05 13:13:21

标签: javascript node.js nginx get server

过去几天我一直在使用nodejs而且我一直试图以某种方式运行它。 这就是我做的: 1.使用以下代码创建file.js:

var express = require('express');
var app = express();
var path = require('path');
var Chance = require('chance');

var chance = new Chance();

app.get('/', function(req, res) {
    if (chance.integer({min: 1, max: 10}) == 1) {
        res.sendFile(path.join(__dirname + '/file1.js'));
    } else {
        res.sendFile(path.join(__dirname + '/file2.js'));
    }
});

app.listen(80);

2.处理file1和file2 javascripts(每个包含一个window.alert 3.使用如下配置启动nginx:

server {
listen 80;

server_name example.com;

location / {
    proxy_pass http://APP_PRIVATE_IP_ADDRESS:8080;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection 'upgrade';
    proxy_set_header Host $host;
    proxy_cache_bypass $http_upgrade;
}

}

但每当我去Ip / file.js时它说: 不能GET /file.js

显然我做了node file.js并启动了nginx! 我为什么要这样做?!

1 个答案:

答案 0 :(得分:2)

您未在ip/file.js投放该文件,而是在ip/投放该文件。您的路线在此处定义:

app.get('/', function(req, res) { ... });

脚本的文件名与您从中访问它的地址无关。为了得到你期望的结果,路线定义必须看起来像这样:

app.get('/file.js', function(req, res) { ... });