我正在尝试使用 Inertia 将 Font Awesome 添加到新安装的 Laravel 8 Jetstream,但收到以下错误
来自 PostCSS 插件的未知错误。您当前的 PostCSS 版本是 8.2.4,但 postcss-import 使用的是 7.0.35。也许这就是下面错误的根源。
错误:找不到“~@fortawesome/fontawesome-free/scss/brands”
应用程序.css
@import 'tailwindcss/base';
@import 'tailwindcss/components';
@import 'tailwindcss/utilities';
@import '~@fortawesome/fontawesome-free/scss/brands';
@import '~@fortawesome/fontawesome-free/scss/regular';
@import '~@fortawesome/fontawesome-free/scss/solid';
@import '~@fortawesome/fontawesome-free/scss/fontawesome';
Run Code Online (Sandbox Code Playgroud)
webpack.mix
mix.js('resources/js/app.js', 'public/js').vue()
.postCss('resources/css/app.css', 'public/css', [
require('postcss-import'),
require('tailwindcss'),
require('autoprefixer'),
])
.webpackConfig(require('./webpack.config'));
if (mix.inProduction()) {
mix.version();
}
Run Code Online (Sandbox Code Playgroud)
网络包配置
const path = require('path');
module.exports = {
resolve: {
alias: {
'@': path.resolve('resources/js'),
},
},
};
Run Code Online (Sandbox Code Playgroud) 我对如何将 stateNotifier 与 Riverpod 一起使用感到困惑。大多数教程都使用反例,这很好,但对我来说仍然不太清楚。我正在尝试实现一个具有 2 个状态的 stateNotifier : isDrawerOpen 和 isDrawerColor ,它返回布尔结果。有些功能会触发这些状态的变化。以下是我已经实现的内容,确实需要一些澄清。
import 'package:flutter_riverpod/all.dart';
class DrawerNotifier extends StateNotifier{
DrawerNotifier() : super(false);
bool isDrawerOpen = false;
bool isDrawerColor = false;
void toggleDrawer() {
isDrawerOpen = !isDrawerOpen;
}
void toggleColor() {
isDrawerColor = !isDrawerColor;
}
}
final drawerProvider = StateNotifierProvider((_) => DrawerNotifier());
final isDrawerOpen = StateNotifierProvider((ref){
final state = ref.watch(drawerProvider);
return state.isDrawerOpen;
});
final isDrawerColor = StateNotifierProvider((ref){
final state = ref.watch(drawerProvider);
return state.isDrawerColor;
});
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 Riverpod 与 Laravel 后端登录。现在我只是从存储库返回 true 或 false。我设置了一个接受电子邮件和密码的表单。isLoading变量只是为了显示一个圆形指示器。我已经运行了代码并且它可以工作,但不确定我是否正确使用了 Riverpod。有更好的方法吗?
auth_provider.dart
class Auth{
final bool isLogin;
Auth(this.isLogin);
}
class AuthNotifier extends StateNotifier<Auth>{
AuthNotifier() : super(Auth(false));
void isLogin(bool data){
state = new Auth(data);
}
}
final authProvider = StateNotifierProvider((ref) => new AuthNotifier());
Run Code Online (Sandbox Code Playgroud)
auth_repository.dart
class AuthRepository{
static String url = "http://10.0.2.2:8000/api/";
final Dio _dio = Dio();
Future<bool> login(data) async {
try {
Response response = await _dio.post(url+'sanctum/token',data:json.encode(data));
return true;
} catch (error) {
return false;
}
}
}
Run Code Online (Sandbox Code Playgroud)
登录屏幕.dart
void login() …Run Code Online (Sandbox Code Playgroud)