gpt4 book ai didi

css - Webpack CSS 设置和最佳实践

转载 作者:技术小花猫 更新时间:2023-10-29 11:20:35 25 4
gpt4 key购买 nike

我是 webpack 的新手,想将它与 reactjs 一起使用,但现在有点迷茫。我想知道在使用 webpack 的客户端站点开发过程中如何处理 css。我知道 webpack 捆绑了我所有的 js 并将其链接为 bundle.js,我在我的 html 文件中引用了它,如下所示:<script src="http://localhost:3000/assets/bundle.js"></script>基于我对 webpack-dev-server 的配置。现在,我还有一个 css 文件。这是去哪里?在我的 html 文件中引用它的 url 是什么。我知道有一个 style-loader 和一个 css-loader 以及一个 ExtractTextPlugin,但输出属于哪里?我看到我可以var css = require('path/customStyle.css')但似乎看不到它出现在哪里?我在我的 index.jsx 文件中这样做。所以他的问题是:如何将它们放在一起,以便我可以引用我的 customStyle.css。我做错了什么,或者我错过了什么这是我的元素文件夹结构:

|_source
| |_js
| |_js
| | |_components
| | |_ *.jsx
| |_index.jsx
|_assets
| |_css
| |_customStyle.css
|__index.html

我的 webpack.config.js 看起来像这样

var ExtractTextPlugin = require('extract-text-webpack-plugin');

module.exports = {
entry: './source/js/index.jsx',
output: {
filename: 'bundle.js',
publicPath: 'http://localhost:8090/assets'
},
module: {
loaders: [
{
test: /\.jsx$/,
loader: 'jsx-loader?insertPragma=React.DOM&harmony'
},
{
test: /\.css$/,
loader: ExtractTextPlugin.extract("style-loader","css-loader")
}
]
},
externals: {

'react': 'React'
},
resolve: {
extensions: ['', '.js', '.jsx','.css']
},
plugins:[
new ExtractTextPlugin("styles.css")
]
}

HTML 文件如下所示:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script src="../node_modules/react/dist/react-with-addons.js"></script>
<!-- like to link css here but don't know the path to link to -->
</head>
<body>
<div id="container">

</div>
<script src="http://localhost:3000/webpack-dev-server.js"></script>
<script src="http://localhost:3000/assets/bundle.js"></script>

</body>
</html>

任何有关 webpack 方式如何工作以及如何获取我的样式的背景知识的帮助都会很棒。

最佳答案

您的 css 将与 Javascript 文件捆绑在一起。没有单独的 css 文件可以链接到您的 html 中。您可以使用 extract-text-webpack-plugin 为生产创建单独的 css 文件。

此外,您可能希望避免在您的 html 中放置绝对 url。最好使用模板并让 w​​ebpack 通过使用 html-webpack-plugin 注入(inject)正确的脚本标签。这就是您的模板的样子(取自 YARSK 的示例):

<!doctype html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8"/>
<title>Yet Another React Starter Kit</title>
<link rel="stylesheet" href="app.{%=o.webpack.hash%}.css" media="all">
</head>
<body>
<div id="app"></div>

<script src="{%=o.htmlWebpackPlugin.assets.main%}"></script>
</body>
</html>

我建议看看 YARSK入门工具包,看看它是如何完成的。

关于css - Webpack CSS 设置和最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28372736/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com