过去几天我一直在使用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! 我为什么要这样做?!
答案 0 :(得分:2)
您未在ip/file.js
投放该文件,而是在ip/
投放该文件。您的路线在此处定义:
app.get('/', function(req, res) { ... });
脚本的文件名与您从中访问它的地址无关。为了得到你期望的结果,路线定义必须看起来像这样:
app.get('/file.js', function(req, res) { ... });