我们如何使用 Vue 在 Laravel 中提取 CSS 块文件?

Posted

技术标签:

【中文标题】我们如何使用 Vue 在 Laravel 中提取 CSS 块文件?【英文标题】:How do we extract CSS chunks file in Laravel with Vue? 【发布时间】:2019-06-11 14:06:15 【问题描述】:

我正在使用 Vue.js 在 Laravel 中工作,并在我的 webpack.config.js 文件中提取 js 块文件,如下所示:

mix.webpackConfig(
    resolve: 
        alias: ...
            'Helpers': path.resolve(__dirname, 'resources/js/helpers/'),
            'Themes': path.resolve(__dirname, 'resources/js/themes/')
        ...
    ,
    output: 
        chunkFilename: 'js/chunks/[name].js',
    ,
);

这会提取 js 块文件,如 0.js 、 1.js 、2.js 等。我想以相同的方式提取 CSS 块。

【问题讨论】:

【参考方案1】:

我在使用 vuely xd 时遇到了同样的问题。 现在我做了什么:

mix.autoload(
    'jquery': ['$', 'window.jQuery', 'jQuery'],
)

mix.webpackConfig(
    resolve: 
        alias: 
            'Api': path.resolve(__dirname, 'resources/js/api/'),
            'Components': path.resolve(__dirname, 'resources/js/components/'),
            'Constants': path.resolve(__dirname, 'resources/js/constants/'),
            'Container': path.resolve(__dirname, 'resources/js/container/'),
            'Views': path.resolve(__dirname, 'resources/js/views/'),
            'Helpers': path.resolve(__dirname, 'resources/js/helpers/'),
            'Themes': path.resolve(__dirname, 'resources/js/themes/')
        
    ,
    output: 
        chunkFilename: mix.inProduction() ? "js/chunks/[name].[chunkhash].js" : "js/chunks/[name].js",
    
);


mix.options(
    extractVueStyles: true
);

mix.js('resources/js/main.js', 'public/js');
mix.sass('resources/js/assets/scss/_style.scss', 'public/css/style.css');

【讨论】:

以上是关于我们如何使用 Vue 在 Laravel 中提取 CSS 块文件?的主要内容,如果未能解决你的问题,请参考以下文章

Laravel - 如何将数组提取到变量并在刀片中使用它们

如何在 Laravel 8 模块中使用 InertiaJS 加载 Vue 组件

如何在 SPA 中处理角色/权限(Laravel+Vue)

Vue 中的 Laravel 紧凑型

如何在 Laravel Mix 中修改 Vue Loader 设置?

Laravel 5:如何在编辑 vue js 中获取 keyup 的值