[英]Build to style tag using webpack
在我的webpack项目中,我想使用JavaScript将样式作为<style>
标记注入到页面中,而不是通过<link>
标记引用外部文件。 我目前正在为样式使用style-loader
,它在头部输出一堆链接标签。
而不是这样:
<html>
<head>
<link rel="stylesheet" type="text/css" href="/things">
<link rel="stylesheet" type="text/css" href="/things">
<link rel="stylesheet" type="text/css" href="/things">
</head>
<body>
我要这个:
<html>
<head>
</head>
<style>
/* things here */
</style>
<body>
有什么办法吗? 我阅读了文档,但是只提到了构建CSS输出文件,而不是以这种方式输出到样式标签。
原因:
事实证明,手动将加载程序添加到导入中可以达到目的。 从webpack配置中删除此加载程序定义:
module: {
loaders: [{
test: /\.scss$/,
loaders: ['style!css!sass!']
}]
}
并手动添加到每个样式导入:
import React from 'react';
import 'style!css!sass!./fieldList.scss'; // -> this line
class FieldList extends React.Component
这导致以我喜欢的方式注入样式。
尝试对样式使用第二个入口点。 所有样式将首先加载,然后添加到<head>
部分的<style>
标记中。
webpack.config.js:
export default {
entry: {
app: ['./app'],
styles: ['./styles']
},
loaders: [{
test: /\.(scss|css)$/,
loaders: [
'style',
'css',
'autoprefixer?browsers=last 3 versions',
'sass'
]
}]
}
index.html的:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script src="styles.js"/>
</head>
<body>
<script src="app.js"/>
</body>
</html>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.