将vuetify样式提取到CSS文件

约翰尼5

我正在做一个概念验证,将vuetify包含在已经部分使用vue的现有Web应用程序中。

我对CSP感到担心,默认情况下,所有vuetify样式都被插入到内联<style>标签中。我不想style-src 'unsafe-inline'在我的CSP中允许

到目前为止,本<head>节中已有95个由vuetify插入的内联样式标签我确实尝试过像这里描述的那样放置一个随机数的选项,但是随机数仅添加在最后一个标签上,所以仍然要94。而且,我没有可靠的解决方案来生成随机数,因此我宁愿不依赖于此。

为每个标签生成哈希当然是不现实的。

我也看到了这个答案,但我认为它不适用于我的上下文,我不是服务器端渲染。

我正在使用webpack 4.41.2,vue 2.6.10,vuetify 2.2.8。

以下是一些配置文件摘录。webpack.js

const MiniCssExtractPlugin = require('mini-css-extract-plugin');
const VueLoaderPlugin = require('vue-loader/lib/plugin');
const VuetifyLoaderPlugin = require('vuetify-loader/lib/plugin');

[...]

et entryPoints = Object.assign([...], { vendor: ['vue', 'vue-router', 'axios', 'vue-i18n', 'lodash', 'interactjs'] });

var config = {
   entry: entryPoints,
   output: {
      path: __dirname,
      filename: 'module/[name].js'
   },
   [...]

   plugins: [
      new MiniCssExtractPlugin({ filename: 'module/[name].css', chunkFilename: 'module/[name].css' }),
      new VueLoaderPlugin(),
      new VuetifyLoaderPlugin()
   ],

   optimization: {
      splitChunks: {
         cacheGroups: {
            commons: {
               test: /[\\/]node_modules[\\/]/,
               name: 'vendor',
               chunks: 'all'
            }
         }
      },
      runtimeChunk: { name: 'manifest' }
   }
};

初始化文件

import Vue from 'vue';

import Vuetify from 'vuetify/lib';
import 'vuetify/dist/vuetify.min.css';

[...]

Vue.use(Vuetify);
const vuetifyOptions = new Vuetify();

// Création de l'instance Vue.js, qui sera dessiner dans l'element définit par l'attribut el
window.Vue = new Vue({
   el: '#app',
   render: h => h(App),
   vuetify: vuetifyOptions
});

约翰尼5

我终于找到了解决方案,已经在导入了MiniCssExtractPlugin,但是将它与lessmodule一起使用,但是我也必须将其添加到sassvuetify使用的module中。

         {
            test: /\.s(c|a)ss$/,
            use: [
               'vue-style-loader',
               MiniCssExtractPlugin.loader, // <-- that line
               'css-loader',
               {
                  loader: 'sass-loader',
                  // Requires sass-loader@^8.0.0
                  options: {
                     implementation: require('sass'),
                     sassOptions: {
                        fiber: require('fibers'),
                        indentedSyntax: true // optional
                     }
                  }
               }
            ]
         }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用webpack 2将.scss文件提取到.css中

来自分类Dev

Perl:将subtring提取到文件末尾

来自分类Dev

将匹配的单词提取到JSON文件

来自分类Dev

将数据从JSON文件提取到CSV

来自分类Dev

将文件提取到当前目录

来自分类Dev

将 Admin ManyToManyField 提取到 CSV 文件

来自分类Dev

webpack 使用 extract-text-webpack-plugin 将 css 提取到单独的文件中

来自分类Dev

将Blob提取到文件:某些文件缺少数据

来自分类Dev

将文件中的行提取到新文件中

来自分类Dev

Webpack:将 css 提取到它自己的包中

来自分类Dev

使用Bash将文件内容提取到数组中

来自分类Dev

将一组给定的文件提取到存储库

来自分类Dev

如何将信息从ngrx提取到组件文件

来自分类Dev

Liquibase:无法将数据提取到变更日志文件

来自分类Dev

将Word创建日期提取到文件名中

来自分类Dev

将PHP代码提取到单独的文件中

来自分类Dev

将部分日志提取到其他文件

来自分类Dev

将xml标记值从文件中提取到Variable

来自分类Dev

将多个iso文件提取到一个目录

来自分类Dev

将文本提取到新文件中

来自分类Dev

将唯一值提取到R中的文件中

来自分类Dev

无法使用ffmpeg将字幕提取到txt文件中

来自分类Dev

将列从csv提取到文本文件

来自分类Dev

将netcdf文件提取到栅格时出错

来自分类Dev

Python - 将 Json 文件提取到标头中

来自分类Dev

将 Jest 步骤定义提取到单独的文件

来自分类Dev

将图像提取到flexslider

来自分类Dev

将电子邮件从文件文件夹提取到新文件

来自分类Dev

将ZIP存档中的文件夹内的文件提取到当前文件夹