私は、流星/public
フォルダ内のページでmeteor-up/mupx
展開を持って./public/index.html
meteor-up展開の/ publicフォルダからファイルをfs.readFile()するにはどうすればよいですか?
私はこのようなものであるURLからページを正常にロードできます。
http://my-app.com:3333/index.html
しかし、私はしたいと思いますドメインのために、このページをデフォルトのページを作るので、私はこのようにそれにアクセスすることができます。
http://my-app.com:3333/
は、私はこれが私の標準流星プロジェクトから正常に動作します私の流星bootstrap.js
ファイル
WebApp.connectHandlers.use("/", function(req, res, next) {
var err, error, error1, filepath0, filepath1;
if (req.originalUrl !== '/' || req.method !== 'GET') {
return next();
}
try {
filepath0 = process.env.PWD + '/public/index.html';
// filepath1 = '/opt/my-app/current/bundle/programs/web.browser/app/index.html';
fs.statSync(filepath0).isFile();
} catch (error) {
err = error1;
console.log("file not available, path=" + filepath);
return next();
}
fs.readFile(filepath0, function(err, buf) {
var eTag, err, headers;
try {
eTag = crypto.createHash('md5').update(buf).digest('hex');
if (req.headers['if-none-match'] === eTag) {
res.writeHead(304, 'Not Modified');
return res.end();
}
} catch (err) {
eTag = null;
}
headers = {
'Content-Type': 'text/html',
'ETag': etag
};
res.writeHead(200, headers);
return res.end(buf);
});
});
に次を追加しました。しかし、mupx
経由で展開すると、index.html
ファイルが同じ場所にないため、例外が発生します。
Meteor
から
mupx
経由で展開された後/path/to/Meteor/public
に位置していたファイルをfs.readFile()
ことができ、私は `filepath0 = process.env.PWD + '/public/index.html' を使用することができますどのように
ただし、mupx
のコードはfilepath0 = /bundle/bundle/public/index.html
となり、ファイルはありません。
mupx
サーバーからは、実際にはls
というファイルでfilepath1
というファイルが使用できますが、その値を使用しても機能しません。
あなたが正しい、これはhack-ですHは。しかし、私はMeteorバックエンドと同じドメインに 'ionic CLI' Webアプリケーションを導入しようとしています。より良い方法があれば、共有してください。 http://stackoverflow.com/questions/37881148/how-can-i-rewrite-redirect-the-default-page-in-meteor-to-point-to-public-indexを参照してください。しかし、私は環境変数を使用して '/ public'フォルダのファイルパスを取得する方法については明確ではありません。 – michael
特定の環境変数( 'PROD')を探すだけです。プロダクションサーバの環境変数に表示されるように 'mupx'設定ファイルで定義します。あなたのコードでは、変数をチェックします。存在する場合は、開発サーバー用に使用するものとは異なるハードコーディングされたURLを使用できます。あなたのカスタム環境変数は、有用な価値を全く必要としません。あとで見つけることができるように宣言するだけです。 'boolean'フラグと同様の働きをします。 – Quirk