2016-06-16 3 views
0

、リフレッシュにJSをリロードするブラウザを強制的にどのように 、JavaScriptファイルのバージョン管理はどのように機能しますか?尋ねた質問に対する回答の数を1として

を追加しますか?スクリプトのsrcリンクに追加します。例えば

<script type="text/javascript" src="myfile.js?1500"></script> 

または

<script type="text/javascript" src="myfile.js?v1"></script> 

私はちょうどそれが動作しない方法を知りたいですか? JSファイルに変更を加えて新しいバージョンとの互換性を持たせる必要がありますか? src = "myfile.js?1500"のような値で毎回JSをリロードするのではないのですか?

答えて

1

これはちょっとしたことですが、ブラウザにサーバーからリソースをリロードする必要があることを示すクエリ文字列を渡します。

?は、ページがリロードされるたびに異なるものでなければなりません。

クエリ文字列を無視できるため、サーバー側で何も変更する必要はありません。あなたは、ファイルのバージョンを解決するだろう、サーバーを必要とする

+0

は?1500年のように、静的であってはならないvクエリのparam

Hypderdevソースは、それはカウンターのような動的なものはずの?例えば。 ?DateWithTimeSec – user2093576

+0

私はこう考えています(http://wordpress.stackexchange.com/questions/40667/how-do-you-avoid-caching-during-development)より詳しい投稿があります。 –

+0

私は自分の答えを訂正し、jsファイルを変更するたびに疑問符の後に入れた値を変えるべきです。したがって、実稼働環境でコードをデプロイすると、クライアントは新しいバージョンをロードし、キャッシュの問題に巻き込まれません。あなたが別のバージョンを扱う必要があるなら、@ medet-tleukabilulyが提供する答えも良いです。 –

0

が、ここで簡単な実装だ

directory structure

- index.js 
- node_modules/ 
- version0.js 
- version1.js 
- version2.js 

index.js

var express = require('express'); 
var app = express(); 

app.get('/myfile.js', function(req, res){ 
    var version = req.query.v || 0; 
    res.sendFile(__dirname + '/version' + version + '.js'); 
}); 

app.listen(3000, function(){ 
    console.log('listening 3000'); 
}); 

https://glimmer-crow.hyperdev.space/myfile.js?v=1
変更時のデモそれoh..so https://hyperdev.com/#!/project/glimmer-crow

+0

あなたは別の質問に答えたと思います。あなたの例では、共存しているすべての有効なjsファイルの異なるバージョンを扱います。必要な機能の適切なバージョンに対処するだけです。しかし、開発している場合は、同じファイルを変更し、テストするたびにこのファイルをサーバーからロードする必要があります。 –

+0

@MarioAlexandroSantiniでは、ブラウザの開発者ツール[screenshot](http://i.imgur.com/NWLQNT1)でキャッシュを無効にすることができます。png) –

+0

はい、しかし、どのようにプロダクションに行くのですか? –

関連する問題