我想使用codegen.macros来加载基于web或本机输出的不同库。但是我的web组件需要加载css / scss文件。我真的在谷歌上搜索了很久,但是我找不到一个运行的例子,如何调整webpack.config.js来让一个css/scss加载器与Expo Web(react-native-web)一起运行。
世博会是强制性的。
它总是以“cant resolve... css”结束。
我知道react native需要JS中的CSS,但我的方法将加载基于Web或native(ios / android)的不同组件。
我的设置已经运行得很好了,但是我无法加载和注入第三方的css文件。这是我的webpack.config.js文件。
const createExpoWebpackConfigAsync = require('@expo/webpack-config')
module.exports = async function (env, argv) {
const config = await createExpoWebpackConfigAsync({
...env,
// Passing true will enable the default Workbox + Expo SW configuration.
},
argv
);
// Customize the config before returning it.
config.module.rules.push({
test: /\.((c|sa|sc)ss)$/i,
use: [{
loader: 'style-loader',
},
{
loader: 'css-loader',
},
{
loader: 'postcss-loader',
},
{
loader: 'sass-loader',
},
],
}, );
return config
}
2条答案
按热度按时间ttcibm8c1#
我自己试了很多次才把它修好。
我这样调整了我的webpack.config.js。
由于Expo在后台使用Webpack 4,因此您需要安装以下软件包:
package.json
使用sass-loader 10.1.1和mini-css-extract-plugin 1.6.2是很重要的。
而且我终于可以在Expo Web中导入.css和.scss文件了!
ncecgwcz2#
需要在
app.json
中添加webpack bundler属性到expo web对象中:以下是github上关于这个风格的scss博览会的讨论:https://github.com/kristerkari/react-native-sass-transformer/issues/32