मैं स्प्रिंग वेब पेजों के माध्यम से एनपीएम में निर्माण से परिणाम देना चाहता हूं और सब कुछ ठीक काम कर रहा है लेकिन मैं main.xxxx.yyy no जैसे नाम से संसाधनों की सेवा नहीं कर सका असली प्रत्यय क्या है (सीएसएस, जेएस या एचटीएमएल)।फ़ाइल नाम में डॉट (ओं) के साथ स्प्रिंग सेवारत सामग्री
निर्देशिका वृक्ष है कि तरह है:
src/main/resource/resource
index.html
asset-manifest.json
favicon.ico
manifest.json
service-worker.js
static
css
main.fc656101.css
main.fc656101.css.map
js
main.91794276.js
main.91794276.js.map
media
banner.bdcf92f4.jpg
fontawesome-webfont.912ec66d.svg
...
यह आवेदन वर्ग है:
@SpringBootApplication
public class Application {
private static Logger log=Logger.getLogger(Application.class.getName());
@Bean
WebMvcConfigurer configurer() {
return new WebMvcConfigurerAdapter() {
@Override
public void addResourceHandlers (ResourceHandlerRegistry registry) {
registry.addResourceHandler("/resources/static/*").
addResourceLocations("classpath:/static/");
}
@Override
public void configurePathMatch(PathMatchConfigurer configurer) {
super.configurePathMatch(configurer);
configurer.setUseSuffixPatternMatch(false);
}
};
}
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
मुद्दे को डीबग करने के लिए मैं मैन्युअल रूप से कुछ फ़ाइलों को नाम दिया गया है और यह काम करता है, तो मैं कर दिया है इस समस्या को उस फ़ाइल नामों में प्रतिबंधित किया गया है जिसमें डॉट (ओं) हैं।
मैंने देखा है कि किसी ने किसी भी समस्या को हल कर दिया है {variable:। +} RestControllers में अनुरोध मैपिंग में, लेकिन मेरे पास नियंत्रक नहीं हैं, इसलिए मैं यह नहीं समझ पाया कि इसे कैसे किया जाए।
संपादित करें:
मैं पाया है कि इस विन्यास के साथ:
@Configuration
class ServletConfig extends WebMvcConfigurerAdapter {
@Override
public void configurePathMatch(final PathMatchConfigurer configurer) {
configurer.setUseSuffixPatternMatch(false);
configurer.setUseTrailingSlashMatch(false);
}
@Override
public void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
configurer.favorPathExtension(false);
}
}
अब यह सब * .html में कार्य करता है, page.01.html शामिल है, लेकिन अभी भी style.01.css नहीं या script.01.js। मुझे लगता है कि एक अलग समस्या है और मूल सामग्री ContentNegotiationConfigurer द्वारा हल की जाती है।
यह टैग की गईं एनपीएम क्यों है? ऐसा लगता है कि node.js. के साथ कुछ भी नहीं है। –
फ़ाइल नामों में बिंदुओं के साथ स्थिर सामग्री बनें एनपीएम रन बिल्ड कमांड द्वारा उत्पादित किया जाता है। – Marcoc1712
मुझे नहीं लगता कि यह आपकी समस्या के लिए प्रासंगिक है, क्योंकि मुझे लगता है कि यदि आप उन फ़ाइलों को मैन्युअल रूप से बनाते हैं, तो ठीक है? और यदि नहीं, तो स्पष्ट रूप से उल्लेख करना एक महत्वपूर्ण बात है। –