मैं इस विषय को काफी समय से खोद रहा हूं, और बहुत सारी विधि को आजमाएं जो काम नहीं करते हैं। यदि आप कोणीय-क्ली का उपयोग कर रहे हैं और एक्सप्रेस के साथ, तो मुझे एक समाधान मिला है यदि चुना गया उत्तर आपके लिए काम नहीं करता है। express-history-api-fallback
[कोणीय] @NgModule के अंतर्गत, अपने app.module.ts फ़ाइल बदलें> निम्नलिखित के रूप में आयात:
RouterModule.forRoot(routes), ...
यह इसलिए कहा जाता है: "स्थान रणनीति"
इस नोड मॉड्यूल का प्रयास करें
आप शायद इस तरह का उपयोग कर "हैश स्थान रणनीति" थे:
RouterModule.forRoot(routes, { useHash: true }) , ...
[एक्सप्रेस & नोड] मूल रूप से आपको यूआरएल को सही तरीके से संभालना होगा, इसलिए यदि आप "एपीआई/डेटा" आदि को कॉल करना चाहते हैं जो एचटीएमएल 5 स्थान रणनीति के साथ संघर्ष नहीं करता है। express-history-api-fallback module आवश्यकता होती है -
अपने server.js फ़ाइल में
चरण 1. (यदि आप एक्सप्रेस जनरेटर का इस्तेमाल किया, मैं स्पष्टता के लिए middleware.js के रूप में इसका नाम बदलना है)।
const fallback = require('express-history-api-fallback');
चरण 2।आपके पास कई मार्ग मॉड्यूल हो सकते हैं, sth। जैसे:
app.use('/api/users, userRoutes);
app.use('/api/books, bookRoutes); ......
app.use('/', index); // Where you render your Angular 4 (dist/index.html)
आपको लिख रहे हैं के साथ Becareful, मेरे मामले में मैं app.use तहत मॉड्यूल सही फोन ('/', सूचकांक);
app.use(fallback(__dirname + '/dist/index.html'));
* सुनिश्चित करें कि यह 404 या एसएचएच को संभालने से पहले है। उसके जैसा ।
यह दृष्टिकोण मेरे लिए काम करता है:) मैं EAN ढेर (CLI साथ Angular4, एक्सप्रेस, नोड)
आप स्थानीय होस्ट के रूप में # के बाद angular2 पथ का उपयोग मार्ग का उपयोग करना चाहिए उपयोग कर रहा हूँ: 3000/#/खोज। इस तरह कोणीय 2 अनुरोध प्राप्त करेगा, सर्वर – binariedMe
नहीं, लेकिन कोणीय 2 # – Rhushikesh
के बिना मार्ग उत्पन्न करता है और इसकी अच्छी – Rhushikesh