问题描述
我将middleman与webpack一起使用。
因此,我的config.rb
包含用于外部管道(webpack)的以下配置:
activate :external_pipeline,name: :webpack,command: build? ? 'yarn run build' : 'yarn run start',source: '.tmp/dist',latency: 1
和package.json
包含以下内容:
"scripts": {
"build": "webpack --bail -p --config webpack.config.js","start": "webpack --watch --progress --color --config webpack.config.js"
},
webpack.config.js
的样子
// webpack.config.js
var path = require('path');
var webpack = require('webpack');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
module.exports = {
mode: 'development',entry: {
application: './source/javascripts/application.js',styles: './source/stylesheets/application.scss',},output: {
path: __dirname + '/.tmp/dist',filename: '[name].js',module: {
rules: [
{
test: /\.s[ac]ss$/i,use: [
{
loader: 'file-loader',options: {
name: '[name].css'
}
},{
loader: 'sass-loader',options: {
sourceMap: true
}
}
],{
test: /\.css$/,exclude: /node_modules/,use: [
{
loader: MiniCssExtractPlugin.loader,options: {
hmr: process.env.NODE_ENV === 'development','css-loader','postcss-loader',]
},{
test: /\.(png|svg|jpg|jpeg|gif)$/,use: [
'file-loader',],{
test: /\.(woff(2)?|ttf|eot|svg|otf)(\?v=[0-9]\.[0-9]\.[0-9])?$/,loader: 'file-loader',options: {
name: 'fonts/[name].[ext]?[hash]'
}
}
]
}
}
该页面已经使用了一些自定义字体(位于source/fonts
中,但是现在我也想通过webpack使用Font Awesome。
但是以某种方式,如果不将字体从真棒字体目录手动复制到source/fonts
文件夹中,我将无法正常工作。
我确定它与webpack.config.js
有关,但是我不知道该如何集成它。
尽管我不确定它是否相关-这就是我包括SCSS的方式:
// source/stylesheets/application.scsss
@charset "utf-8";
@import "../../node_modules/@fortawesome/fontawesome-free/scss/fontawesome.scss";
@import "../../node_modules/@fortawesome/fontawesome-free/scss/regular.scss";
PS:只是为了澄清这一点。我想使用webpack将所有资产都放在一个地方(webpack)。因此,我对使用font-awesome-middleman
或类似的宝石没有兴趣。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)