Heim Web-Frontend js-Tutorial So ändern Sie die Create-React-App, um mehrere Seiten zu unterstützen

So ändern Sie die Create-React-App, um mehrere Seiten zu unterstützen

May 28, 2018 pm 03:54 PM
修改

Dieses Mal zeige ich Ihnen, wie Sie die Create-React-App so ändern, dass sie Mehrseiten unterstützt Werfen wir einen Blick darauf.

Ändern Sie den Entwicklungsprozess

Basierend auf dem Projekt, das über die Create-React-App generiert wurde

yarn run eject

wird verwendet um die HTML-Datei anzuzeigen

yarn add globby config/paths.js ändern

//遍历public下目录下的html文件生成arry
const globby = require('globby');
const htmlArray = globby.sync([path.join(resolveApp('public'), '/*.html')]);
//module.exports 里面增加
htmlArray
Nach dem Login kopieren

config/webpack.config.dev.js ändern

<!--增加配置-->
// 遍历html
const entryObj = {};
const htmlPluginsAray = paths.htmlArray.map((v)=> {
 const fileParse = path.parse(v);
 
 entryObj[fileParse.name] = [
  require.resolve('./polyfills'),
  require.resolve('react-dev-utils/webpackHotDevClient'),
  `${paths.appSrc}/${fileParse.name}.js`,,
 ]
 return new HtmlWebpackPlugin({
  inject: true,
  chunks:[fileParse.name],
  template: `${paths.appPublic}/${fileParse.base}`,
  filename: fileParse.base
 })
});
<!--entry 替换为entryObj-->
entry:entryObj
<!--替换htmlplugin内容-->
// new HtmlWebpackPlugin({
//  inject: true,
//  chunks: ["index"],
//  template: paths.appPublic + '/index.html',
// }),
...htmlPluginsAray,
Nach dem Login kopieren

config/webpackDevServer.config.js ändern

// 增加
const path = require('path');
const htmlPluginsAray = paths.htmlArray.map((v)=> {
 const fileParse = path.parse(v);
 return {
  from: new RegExp(`^\/${fileParse.base}`), to: `/build/${fileParse.base}`
 };
});
<!--historyApiFallback 增加 rewrites-->
rewrites: htmlPluginsAray
Nach dem Login kopieren

Die oben genannten Änderungen sind im Entwicklungsmodus. Probieren Sie Garnstart aus.

Produktprozess ändern

Konfiguration ändern/

//增加
// 遍历html
const entryObj = {};
const htmlPluginsAray = paths.htmlArray.map((v)=> {
 const fileParse = path.parse(v);
 
 entryObj[fileParse.name] = [
  require.resolve('./polyfills'),
  `${paths.appSrc}/${fileParse.name}.js`,
 ];
 console.log(v);
 return new HtmlWebpackPlugin({
  inject: true,
  chunks:[fileParse.name],
  template: `${paths.appPublic}/${fileParse.base}`,
  filename: fileParse.base
 })
});
<!--修改entry-->
 entry: entryObj,
<!--替换 new HtmlWebpackPlugin 这个值-->
...htmlPluginsAray,
Nach dem Login kopieren

Kopiermodul hinzufügen (

)

yarn add cpySkripte/Build ändern. js

 // function copyPublicFolder () 替换
// 原来的方法是复制public下所有的内容,因为增加了多html 所以不再直接复制过去(直接复制会覆盖html)
const copyPublicFolder = async() => {
 await cpy([`${paths.appPublic}/*.*`, `!${paths.appPublic}/*.html`], paths.appBuild);
 console.log('copy success!');
 // fs.copySync(paths.appPublic, paths.appBuild, {
 //  dereference: true,
 //  filter: file => file !== paths.appHtml,
 // });
}
Nach dem Login kopieren

Testen Sie es nach der obigen Änderung

yarn build und prüfen Sie, ob das entsprechende HTML korrekt generiert wird.

Funktion hinzugefügt

Sass-Unterstützung (siehe hierzu das Dokument von create-react-app, achten Sie darauf, den „Start“ im Dokument nicht direkt zu kopieren: „react-scripts start“ , „build“: „react-scripts build“, da wir zuvor Garn ausgeworfen haben, daher gibt es Probleme, wenn Sie es so verwenden. Sie können es selbst ausprobieren)

// 增加模块
yarn add node-sass-chokidar npm-run-all
// package.json删除配置
"start": "node scripts/start.js",
"build": "node scripts/build.js",
// package.json里面增加scripts
"build-css": "node-sass-chokidar src/scss -o src/css",
"watch-css": "npm run build-css && node-sass-chokidar src/scss -o src/css --watch --recursive",
"start-js": "node scripts/start.js",
"start": "npm-run-all -p watch-css start-js",
"build-js": "node scripts/build.js",
"build": "npm-run-all build-css build-js",
Nach dem Login kopieren

html Modul importieren

yarn add html-loader
<!--index.html-->
<%= require(&#39;html-loader!./partials/header.html&#39;) %>
Nach dem Login kopieren

html Sie können img hineinschreiben, um das Packen in den Build zu unterstützen. Wenn Sie es nicht schreiben, wird es nicht gepackt, es sei denn, Sie benötigen

<img src="<%= require(&#39;../src/imgs/phone.png&#39;) %>" alt="">
Nach dem Login kopieren

in js und dann den Hash und andere Konfigurationen abbrechen, wird dies nicht aufgezeichnet.

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

Empfohlene Lektüre:

So erstellen Sie eine Webpack+React-Entwicklungsumgebung


Wie Sie JS zur Implementierung von 3des+ verwenden Base64-Verschlüsselungs- und Entschlüsselungsalgorithmus

Das obige ist der detaillierte Inhalt vonSo ändern Sie die Create-React-App, um mehrere Seiten zu unterstützen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So ändern Sie den persönlichen Namen in der Gruppe auf DingTalk_So ändern Sie den persönlichen Namen in der Gruppe auf DingTalk So ändern Sie den persönlichen Namen in der Gruppe auf DingTalk_So ändern Sie den persönlichen Namen in der Gruppe auf DingTalk Mar 29, 2024 pm 08:41 PM

1. Öffnen Sie zunächst DingTalk. 2. Öffnen Sie den Gruppenchat und klicken Sie auf die drei Punkte in der oberen rechten Ecke. 3. Finden Sie meinen Spitznamen in dieser Gruppe. 4. Klicken Sie, um zum Ändern und Speichern aufzurufen.

So ändern Sie den Namen des Benutzerordners: Win11-Tutorial So ändern Sie den Namen des Benutzerordners: Win11-Tutorial Jan 09, 2024 am 10:34 AM

Einige Spiele werden automatisch im Benutzerordner installiert und erfordern einen englischen Ordner. Viele Freunde wissen jedoch nicht, wie man den Benutzerordnernamen in win11 ändert. Ändern Sie den Namen des Benutzerordners in Win11: Der erste Schritt besteht darin, die Tastenkombination „Win+R“ auf der Tastatur zu drücken. Geben Sie im zweiten Schritt „gpedit.msc“ ein und drücken Sie die Eingabetaste, um den Gruppenrichtlinien-Editor zu öffnen. Schritt 3: Erweitern Sie „Sicherheitseinstellungen“ unter „Windows-Einstellungen“. Schritt 4: Öffnen Sie „Sicherheitsoptionen“ unter „Lokale Richtlinien“. Schritt 5: Doppelklicken Sie, um rechts die Richtlinie „Konto: Systemadministratorkonto umbenennen“ zu öffnen. Schritt 6: Geben Sie unten den Namen des Ordners ein, den Sie ändern möchten, und klicken Sie zum Speichern auf „OK“. Benutzerordner ändern

Kann Douyin Blue V seinen Namen ändern? Welche Schritte sind erforderlich, um den Namen des Unternehmenskontos von Douyin Blue V zu ändern? Kann Douyin Blue V seinen Namen ändern? Welche Schritte sind erforderlich, um den Namen des Unternehmenskontos von Douyin Blue V zu ändern? Mar 22, 2024 pm 12:51 PM

Die Douyin Blue V-Zertifizierung ist die offizielle Zertifizierung eines Unternehmens oder einer Marke auf der Douyin-Plattform, die dazu beiträgt, das Markenimage und die Glaubwürdigkeit zu verbessern. Aufgrund der Anpassung der Unternehmensentwicklungsstrategie oder der Aktualisierung des Markenimages möchte das Unternehmen möglicherweise den Namen der Douyin Blue V-Zertifizierung ändern. Kann Douyin Blue V seinen Namen ändern? Die Antwort ist ja. In diesem Artikel werden die Schritte zum Ändern des Namens des Unternehmenskontos Douyin Blue V im Detail vorgestellt. 1. Kann Douyin Blue V seinen Namen ändern? Sie können den Namen des Douyin Blue V-Kontos ändern. Gemäß den offiziellen Bestimmungen von Douyin können Unternehmenskonten mit Blue V-Zertifizierung eine Änderung ihres Kontonamens beantragen, nachdem sie bestimmte Bedingungen erfüllt haben. Im Allgemeinen müssen Unternehmen relevante Belege wie Geschäftslizenzen, Organisationscode-Zertifikate usw. vorlegen, um die Rechtmäßigkeit und Notwendigkeit der Namensänderung nachzuweisen. 2. Welche Schritte sind erforderlich, um den Namen des Unternehmenskontos von Douyin Blue V zu ändern?

Tipps zur Änderung der Schlafzeit unter Win10 enthüllt Tipps zur Änderung der Schlafzeit unter Win10 enthüllt Mar 08, 2024 pm 06:39 PM

Tipps zur Änderung der Ruhezeit von Win10 enthüllt Als eines der derzeit am weitesten verbreiteten Betriebssysteme verfügt Windows 10 über eine Ruhefunktion, die Benutzern hilft, Strom zu sparen und den Bildschirm zu schützen, wenn sie den Computer nicht verwenden. Manchmal entspricht die Standard-Ruhezeit jedoch nicht den Anforderungen der Benutzer. Daher ist es besonders wichtig zu wissen, wie die Win10-Ruhezeit geändert werden kann. In diesem Artikel finden Sie Tipps zum Ändern der Ruhezeit von Win10, sodass Sie die Ruheeinstellungen des Systems ganz einfach anpassen können. 1. Ändern Sie die Ruhezeit von Win10 über „Einstellungen“. Zuerst die einfachste Lösung

Ort und Methode der Win11-Energiemodusänderung Ort und Methode der Win11-Energiemodusänderung Dec 30, 2023 pm 05:25 PM

Im Win11-System können wir unseren Batterieverbrauch reduzieren oder unsere Systemleistung verbessern, indem wir den Energiemodus ändern. Die Einstellungsmethode ist sehr einfach. Suchen Sie einfach die Energieoption. Folgen wir dem Editor, um einen Blick auf den spezifischen Vorgang zu werfen. So ändern Sie den Energiemodus in Win11 1. Klicken Sie zunächst auf die Schaltfläche ganz links in der Taskleiste, um das Startmenü zu öffnen. 2. Suchen und öffnen Sie dann „Systemsteuerung“ über dem Startmenü. 3. In der Systemsteuerung finden Sie „Hardware und Sound“. 4. Geben Sie „Hardware und Sound“ ein. Klicken Sie unter „Energieoptionen“ auf „Energieplan auswählen“. 5. Dann in Sie können den Energiemodus ändern. Sie können den ausgewogenen Energiesparmodus auswählen oder den versteckten Zusatzplan erweitern und den Hochleistungsmodus auswählen.

Anleitung zum Ändern von Win11-Fensterecken in abgerundete Ecken Anleitung zum Ändern von Win11-Fensterecken in abgerundete Ecken Dec 31, 2023 pm 08:35 PM

Nach der Aktualisierung des Win11-Systems stellten viele Freunde fest, dass das Win11-Schnittstellenfenster ein neues Design mit abgerundeten Ecken annimmt. Aber einige Leute mögen dieses Design mit abgerundeten Ecken nicht und möchten es auf die vorherige Benutzeroberfläche ändern, wissen aber nicht, wie sie es ändern sollen. Schauen wir uns das unten an. So ändern Sie abgerundete Ecken in Win11 1. Das Design mit abgerundeten Ecken in Win11 ist eine integrierte Systemeinstellung, die derzeit nicht geändert werden kann. 2. Wenn Ihnen das abgerundete Eckendesign von Win11 nicht gefällt, können Sie warten, bis Microsoft eine Änderungsmethode bereitstellt. 3. Wenn Sie wirklich nicht daran gewöhnt sind, können Sie auch zum vorherigen Win10-System zurückkehren. 4. Wenn Sie nicht wissen, wie Sie ein Rollback durchführen, können Sie sich die Tutorials auf dieser Website ansehen. 5. Wenn Sie das obige Tutorial nicht erneut verwenden können, können Sie es trotzdem tun

Tipps zur Anpassung der PyCharm-Hintergrundfarbe: Meistern Sie es schnell! Tipps zur Anpassung der PyCharm-Hintergrundfarbe: Meistern Sie es schnell! Feb 03, 2024 am 09:39 AM

Um die Fähigkeiten zum Ändern der Hintergrundfarbe von PyCharm schnell zu erlernen, benötigen Sie spezifische Codebeispiele. In den letzten Jahren ist die Python-Sprache im Bereich der Programmentwicklung immer beliebter geworden, und PyCharm ist eine integrierte Entwicklungsumgebung (IDE). wird von den meisten Entwicklern geliebt und verwendet. In PyCharm personalisieren einige Entwickler häufig die IDE-Schnittstelle, einschließlich der Änderung der Hintergrundfarbe. In diesem Artikel wird die Technik zum Ändern der Hintergrundfarbe von PyCharm vorgestellt und spezifische Codebeispiele gegeben, um den Lesern zu helfen, diese Fähigkeit schnell zu erlernen.

Beschleunigen Sie die Pip-Quelle und lösen Sie das Problem der langsamen Download-Geschwindigkeit Beschleunigen Sie die Pip-Quelle und lösen Sie das Problem der langsamen Download-Geschwindigkeit Jan 17, 2024 am 10:18 AM

Ändern Sie die Pip-Quelle schnell, um das Problem der langsamen Download-Geschwindigkeit zu lösen. Einführung: Während des Entwicklungsprozesses bei der Verwendung von Python müssen wir häufig Pip verwenden, um verschiedene Bibliotheken von Drittanbietern zu installieren. Aufgrund von Einschränkungen in der Netzwerkumgebung oder Problemen mit der Standardquelle ist die Pip-Download-Geschwindigkeit jedoch oft sehr langsam, was zu Unannehmlichkeiten für unsere Entwicklung führt. Daher wird in diesem Artikel beschrieben, wie Sie die Pip-Quelle schnell ändern können, um das Problem der langsamen Download-Geschwindigkeit zu lösen, und es werden spezifische Codebeispiele bereitgestellt. 1. Problemanalyse Bei der Verwendung von pip zum Herunterladen von Bibliotheken von Drittanbietern: I

See all articles