का उपयोग कर मैं एक आइसोमोर्फिक एप्लिकेशन बना रहा हूं। यह पूरी तरह से प्रतिक्रिया के साथ बनाया गया है - अर्थात्, एचटीएमएल बेस भी प्रतिक्रिया में है।वेबपैक के साथ कैशिंग, [हैश] इंडेक्स स्रोत कोड के अंदर मूल्य, React.js
मेरे पास एक रूट घटक के रूप में मेरा रूट HTML है।
...
var AppTemplate = React.createClass({
displayName: 'AppTemplate',
render: function() {
return (
<html>
<head lang="en">
<title>hello</title>
<link rel="stylesheet" href='/css/style.css' />
</head>
<body>
<RouteHandler {...this.props}/>
<script type='text/javascript' src='/js/bundle.js' />
</body>
</html>
);
}
});
...
module.exports = AppTemplate;
जब मैं webpack के साथ इस परियोजना का निर्माण, मैं js/bundle.js को बदलने के लिए हैश शामिल करने की जरूरत:
वह कुछ इस तरह लग रहा है।
वेबपैक समाप्त होने के बाद आँकड़े। जेसन प्रदान करता है। लेकिन मुझे निर्माण समय के दौरान हैश उपलब्ध होना चाहिए।
...
var AppTemplate = React.createClass({
displayName: 'AppTemplate',
render: function() {
return (
<html>
<head lang="en">
<title>hello</title>
<link rel="stylesheet" href='/css/style.css' />
</head>
<body>
<RouteHandler {...this.props}/>
<script type='text/javascript' src='/js/bundle.{__HASH__}.js' />
</body>
</html>
);
}
});
...
module.exports = AppTemplate;
कौन सा आदर्श बनाया js में सही हैश संदर्भ डालेगी:
मैं की तरह कुछ करने के लिए सुविधा झंडे का उपयोग करने का सोच रहा था।
यह थोड़ा मुश्किल है क्योंकि यह स्वयं संदर्भ है। इसे करने का कोई बेहतर तरीका है? वेबपैक समाप्त होने के बाद निर्मित कोड को संशोधित करना प्रतिकूल प्रतीत होता है। मैंने क्लाइंट को बस bundle.js का अनुरोध करने के बारे में भी सोचा है, लेकिन मेरा नोड सर्वर हैशड फ़ाइल की सेवा करता है।
इस कैशिंग के लिए उचित समाधान क्या होगा?
यह वही था जो मैं ढूंढ रहा था। – Federico