suchen

Heim  >  Fragen und Antworten  >  Hauptteil

PROD- und DEV-CSS-Rendering in Nuxt3 inkonsistent

<p>Ich habe mit Nuxt3 und Tailwind v2 eine Vue3-Komponentenbibliothek (nennen wir sie MY-LIBRARY) erstellt. Ich habe ein Nebenprojekt namens MY-SIDE-PROJECT, erstellt mit Laravel-Mix (v6) und Vue3, das Rückenwind v2 verwendet. Ich habe ein weiteres Vue3-Projekt (nennen wir es My-PROJECT), das mit Nuxt3 erstellt wurde, ebenfalls mit Tailwind v2. </p> <p>In MY-PROJECT verwende ich Komponenten aus MY-LIBRARY, um die Seite zu rendern. </p> <p>Wenn ich mein Projekt in der Produktion mit dem Skript <code>npm run build</code> erstelle, das <code>nuxt build</code> auslöst, wird meine Seite bereitgestellt, aber meine A-Warnung erscheint im Konsole, zum Beispiel: </p> <pre class="brush:php;toolbar:false;">[WARNUNG] Die CSS-Verschachtelungssyntax wird in der konfigurierten Zielumgebung ("chrome87", "edge88", "es2020", "firefox78", "safari14" nicht unterstützt ") [unsupported-css-nesting] <stdin>:1:62181: 1 │ ...-cell}@media (min-width:1024px){&--bordered-max-lg,&--hidden-max... ╵</pre> <p><strong>BEARBEITEN: Dieses Problem wurde behoben, das CSS für MY-LIBRARY wurde nicht korrekt gebündelt. </strong></p> <p><strong>Trotzdem wird das CSS auf meiner Projektseite nicht richtig interpretiert. </strong></p> <p>Ich möchte, dass Seiten in MY-PROJECT CSS aus MY-LIBRARY ordnungsgemäß bereitstellen, wenn sie in der Produktion erstellt werden. </p> <p>Ich habe versucht, die Nuxt-Konfiguration in MY-PROJECT zu verwenden, aber die Kombination von Nuxt3/Vue3 und tailwind v2 ist im Internet nicht gut dokumentiert. Ich kann im Moment nicht wirklich zu tailwind3 wechseln, da das Projekt einige externe Kompatibilitätsanforderungen hat.</p> <p>Dies ist die nuxt.config.js-Datei für mein Projekt: </p> <pre class="brush:php;toolbar:false;">export default defineNuxtConfig({ ... CSS: [ '@/assets/styles/main.scss' ], Postcss: { Plugins: { tailwindcss: {}, Autopräfixer: {}, }, }, bauen: { Postcss: { postcssOptions: { Plugins: { tailwindcss: {}, Autopräfixer: {} } } } } })</pre> <p>Dies ist die Datei tailwind.config.js für mein Projekt: </p> <pre class="brush:php;toolbar:false;">module.exports = { wichtig: wahr, Voreinstellungen: [ require('MY-LIBRARY/tailwind.config') ], säubern: { Inhalt: [ "./components/**/*.{js,vue,ts}", "./pages/**/*.vue", "./nuxt.config.{js,ts}", "./app.vue", ] }, Thema: { verlängern: { ... } }, Varianten: { ... } }</pre> <p>Ich habe versucht, postcss.config.js in MY-PROJECT hinzuzufügen, aber es hat nichts geändert. </p> <p>Wenn Sie Vorschläge zur Lösung meines Problems haben, wäre ich Ihnen sehr dankbar! Dank im Voraus. </p> <p><strong>Bearbeiten: </strong> Nachdem ich einige Dinge ausprobiert habe, scheint das Hauptproblem die Befehle <code>npm run dev</code> (lokal ausführen) und <code>npm zu sein run build ; npm run start</code> (bei der Bereitstellung, aber ich reproduziere auch lokal) wird ungleichmäßig gerendert. CSS wird nicht auf ähnliche Weise gerendert.Öffnen Sie die Datei package.json: </p> <pre class="brush:php;toolbar:false;">{ „name“: „MEIN-PROJEKT“, „privat“: wahr, "Skripte": { „build“: „nuxt build“, „dev“: „nuxt dev --port=3000“, „docker“: „npm run dev“, „generate“: „nuxt generic“, „preview“: „nuxt-Vorschau“, „postinstall“: „nuxt Prepare“, „start“: „nuxt start“ }, "Motoren": { „node“: „16.x“, „npm“: „8.x“ }, "Abhängigkeiten": { „MEINE-BIBLIOTHEK“: „^1.1.2“, „@pinia/nuxt“: „^0.4.7“, „autoprefixer“: „^10.4.14“, "axios": "^1.3.4", "luxon": "^3.3.0", "nuxt": "^3.3.1", „nuxt-proxy“: „^0.4.1“, "pinia": "^2.0.33", „sass“: „^1.60.0“, "tailwindcss": "^2.2.17", "ufo": "^1.1.1", "vue-i18n": "^9.2.2", „vue3-lottie“: „^2.5.0“ }, „devDependencies“: { „@nuxtjs/tailwindcss“: „4.2.1“, "@types/node": "^18.14.2", „@vue/eslint-config-prettier“: „^7.1.0“, „@vue/eslint-config-typescript“: „^11.0.2“, "eslint": "^8.34.0", "eslint-plugin-vue": "^9.9.0", „npm-run-all“: „^4.1.5“, "postcss": "^8.4.21", „hübscher“: „^2.8.4“, „sass-loader“: „^13.2.2“ }, „überschreibt“: { „vue“: „neueste“ } }</pre> <p><br /></p>
P粉336536706P粉336536706463 Tage vor530

Antworte allen(1)Ich werde antworten

  • P粉300541798

    P粉3005417982023-08-28 08:07:08

    我终于明白问题出在哪里了。 在我的 tailwind 配置中,我需要指定我还想将 tailwind 应用于从 MY-LIBRARY 导入的组件。

    感谢@JSONDerulo 的交流,让我能够查明来源。

    #MY-PROJECT's tailwind.config.js
    
    module.exports = {
        important: true,
        presets: [
            require('MY-LIBRARY/tailwind.config')
        ],
        purge: {
            content: [
                "./components/**/*.{js,vue,ts}",
                "./pages/**/*.vue",
                "./nuxt.config.{js,ts}",
                "./app.vue",
                "./node_modules/MY-LIBRARY/components/**/*.{js,vue,ts}" #<-- the important part
            ]
        },
        theme: {
            extend: {
                ...
            }
        },
    }

    Antwort
    0
  • StornierenAntwort