reactjs - 如何使用 webpack 从两个或多个 main.scss 文件生成多个输出目录
问题描述
在这个项目中,css和js是一样的。区别在于css,它是用于每个项目的颜色。我等待有关如何执行此操作的建议。谢谢
使用所需的 web 包输出结构。
dist /
- publicA
- css
- js
- publicB
- css
- js
使用 vue 或 react 的工作区
src /
components
...
...
main.js
我的内容 main.js
import "../resources/sources/*.scss"
import Vue from 'vue'
import App from './App.vue'
..
可以找到全局样式的目录
resources/scss /
- publicA /
- scss /
_custom.scss
_common.scss
// included custom y common
main.scss
- publicA /
- scss
_custom.scss
_common.scss
// included custom y common
main.scss
内容我的配置 webpack
const config = {
mode: "development",
devtool: 'source-map',
entry: './src/main.js',
output: {
path: path.resolve(__dirname + `dist/js/[name].min.js` ),
//publicPath: path.resolve(__dirname),
filename: `js/[name].min.js`
},
module: {
rules: [
{
test: /\.vue$/,
loader: 'vue-loader'
},
{
use: "asset",
test: /\.(png|svg|jpg|jpeg|gif)$/i,
},
{
test: /\.js$/,
exclude: /node_modules/,
use:[
{
loader: 'babel-loader',
options: {
sourceMap: true
}
},
]
},
{
test: /\.(css|scss|sass)$/,
use: [
'style-loader',
MiniCssExtractPlugin.loader,
{
loader: 'css-loader',
options: {
sourceMap: true
}
},
{
loader: 'sass-loader',
options: {
sourceMap: true,
}
}
]
},
]
},
resolve: {
alias: {
'vue$': 'vue/dist/vue.esm.js'
},
extensions: ['*', '.js', '.vue', '.json']
},
plugins: [
new VueLoaderPlugin(),
new MiniCssExtractPlugin({
filename: `css/[name].min.css`
})
]
};
``
解决方案
你可以看到文件加载器,https://www.npmjs.com/package/file-loader 它有一个名为 name() 的可选函数
推荐阅读
- http - HTTPS 如何影响缓存和安全性?
- python - Windows 桌面应用程序从浏览器读取会话数据
- android - 如何在我的 android 项目中正确启用 android.databinding 库?
- c++ - 如何读取文件中的数字并在 Qt 中将它们作为整数处理
- tinyxml2 - tinyxml 在自结束标记中的斜线之前删除空格?
- php - 如何将控制台显示的内置服务器的事件消息重定向到 C 程序中的文件?
- python - 在熊猫中将业务月结束日期按不同的月份数移动
- python - 通过部分名称检查文件是否存在于目录中,如果找到则返回目录名称(glob 返回错误)
- javascript - 打印 JSON 嵌套对象
- go - 我可以使用 Gin-gonic 按摩绑定到我的结构的数据吗?