【问题标题】:Nuxt Build Doesn't Include node_modules CSSNuxt 构建不包含 node_modules CSS
【发布时间】:2020-03-23 18:34:04
【问题描述】:

对不起,我对 Nuxt 和 Webpack 还很陌生。我有一个 Nuxt 项目,在其中运行 yarn dev 一切正常。但是当我使用 yarn build -> yarn generate 构建时,我在 node_modules 目录(dropzone.css、flatpickr.css 等)中引用的 .css 文件永远不会被包含在内并破坏了站点。我已经尝试了一切,但无法弄清楚我做错了什么。有人可以指出我正确的方向吗?当前运行带有 Tailwind.css 的 Nuxt v2.11.0。这是我的 nuxt.config.js 文件,主要是样板文件 -

require('dotenv').config()

export default {
    env: {
        baseUrl: process.env.BASE_URL || '/',
        apiUrl: process.env.API_URL
    },
    mode: 'universal',
    css: [
        '@/assets/css/tailwind.css',
        '@/assets/fonts/caslongraphique/webfont.css',
        '@/assets/fonts/turbinadobolddry/font.css',
        { src: 'nuxt-dropzone/dropzone.css', lang: 'css' },
        { src: 'vue-agile/dist/VueAgile.css', lang: 'css' },
        { src: 'flatpickr/dist/flatpickr.css', lang: 'css' },
        { src: 'flatpickr/dist/themes/airbnb.css', lang: 'css' }
    ],
    /*
    ** Plugins to load before mounting the App
    */
    plugins: [
        { src: '~plugins/helpers' },
        { src: '~plugins/vue-moment' },
        { src: '~plugins/vue-agile', mode: 'client' },
        { src: '~plugins/eventBus', mode: 'client' },
        { src: '~plugins/axios', mode: 'client' },
        { src: '~plugins/vuex-persist', mode: 'client' }
    ],
    buildModules: [
        // Doc: https://github.com/nuxt-community/nuxt-tailwindcss
        '@nuxtjs/tailwindcss',
    ],
    modules: [
        '@nuxtjs/axios',
        '@nuxtjs/dotenv',
        // 'nuxt-client-init-module'
    ],
    build: {
        /*
        ** You can extend webpack config here
        */
        extend (config, ctx) {
        },
        postcss: {
            plugins: {
                // Disable a plugin by passing false as value
                'postcss-url': false,
                'postcss-nested': {},
                'autoprefixer': true
            },
            preset: {
                // Change the postcss-preset-env settings
                autoprefixer: {
                    grid: true
                }
            }
        },
    }
}

【问题讨论】:

    标签: node.js vue.js webpack nuxt.js yarnpkg


    【解决方案1】:

    如果没有完整的项目来构建和运行,很难回答这个问题。我假设您在构建生产时没有使用单独的 webpack 配置文件,否则您会将其添加到问题中。您似乎在配置文件中使用了正确的语法,所以我猜您的 css 文件路径不太正确。它们看起来有点像旧的做事方式,您可能想确认它们并没有过时。 This old-ish github 问题涉及您可以尝试的各种事情,其中​​让 nuxt 自动为您找到 css 的“编译”版本,如下所示:

    css: [
            'nuxt-dropzone',
            ...etc
        ],
    

    尝试删除所有第 3 方 css 文件,并在前一个文件正常工作后一次添加一个。

    这个例子来自the official docs:

    export default {
      css: [
        // Load a Node.js module directly (here it's a Sass file)
        'bulma',
        // CSS file in the project
        '@/assets/css/main.css',
        // SCSS file in the project
        '@/assets/css/main.scss'
      ]
    }
    

    【讨论】:

    • 感谢亚历克斯的帮助。在发布之前我已经尝试过你的方法,但它对我不起作用。它与我怀疑的构建有关。不幸的是,鉴于我的项目截止日期,我需要更多时间来创建一个精简的 repo 来演示它:(。同时标记你的答案是正确的。谢谢你的帮助!
    猜你喜欢
    • 2019-04-12
    • 2021-11-26
    • 1970-01-01
    • 2017-03-23
    • 1970-01-01
    • 1970-01-01
    • 2021-11-01
    • 2019-09-20
    • 2017-04-18
    相关资源
    最近更新 更多