[英]Is that possible to import css file as string in es6?
我想打包 css 文件並將其插入到我的應用程序中的 shadow DOM 中。
我已經嘗試過css-loader 的方法:
如下文件: webpack.config.js
const path = require('path');
const CopyWebpackPlugin = require("copy-webpack-plugin");
const VueLoaderPlugin = require('vue-loader/lib/plugin')
module.exports = {
context: path.resolve(__dirname, 'src'),
entry: {
content: './content/index.js',
},
output: {
path: path.resolve(__dirname, 'dist'),
filename: '[name].js',
},
module: {
rules: [
{
use: 'babel-loader',
test: /\.js$/,
exclude: /node_modules/
},
{
test: /\.vue$/,
loader: 'vue-loader'
},
{
test: /\.css$/,
use: [
'vue-style-loader',
'to-string-loader',
{
loader: 'css-loader',
options: {}
}
]
}
]
}
}
我嘗試使用這樣的方式:
const css = require('./test.css').toString();
console.log(css); // [Object, Object]
import styles from './test.css';
console.log(styles) // {}
CSS文件:
#app{
position: fixed;
right: 0;
top:0;
width: 420px;
height: 420px;
z-index: 9999;
}
它似乎對我不起作用。
有沒有辦法做到這一點?
從您的webpack.config.js
,您為.css
文件指定的加載程序的順序似乎是從后到前的。
嘗試反轉use
數組中加載器的順序,以便將css-loader
結果傳遞給to-string-loader
,然后從to-string-loader
傳遞到您的腳本:
{
test: /\.css$/,
use: [
'to-string-loader',
'css-loader'
]
}
另外,我不確定您是否需要在此處包含vue-style-loader
,這就是我從應用於 css 文件的加載器中刪除它的原因。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.