Редактирование шаблона по умолчанию для флаттера

Я пытался изменить шаблон флаттера по умолчанию, чтобы приспособить его к моему рабочему процессу и уменьшить объем работы при инициализации проекта.

Важно отметить,

  1. Мне удалось удалить дом StatefulWidget успешно
  2. Я изменил по умолчанию MaterialApp к GetMaterialApp

После вышеупомянутых модификаций шаблон работает хорошо, но я пытаюсь сделать еще несколько шансов, но они не работают.

  1. Добавьте дополнительные папки в шаблон - я хочу добавить полную иерархию MVC в шаблон проекта, но она не отображается в инициализированном проекте.

Вот код для моего main.dart.tmpl файл

      import 'package:flutter/material.dart';
{{#withPluginHook}}
import 'dart:async';

import 'package:flutter/services.dart';
import 'package:{{pluginProjectName}}/{{pluginProjectName}}.dart';
{{/withPluginHook}}

void main() {
  runApp(App());
}

{{^withPluginHook}}
class App extends StatelessWidget {
  
  @override
  Widget build(BuildContext context) {
    return GetMaterialApp(
      debugShowCheckedModeBanner: false,
      title: 'App Title',
      getPages: AppPages.routes,
      initialRoute: Routes.HOME,
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
    );
  }
}
{{/withPluginHook}}
{{#withPluginHook}}
class App extends StatefulWidget {
  @override
  _AppState createState() => _AppState();
}

class _AppState extends State<App> {
  String _platformVersion = 'Unknown';

  @override
  void initState() {
    super.initState();
    initPlatformState();
  }

  Future<void> initPlatformState() async {
    String platformVersion;
    
    
    try {
      platformVersion =
          await {{pluginDartClass}}.platformVersion ?? 'Unknown platform version';
    } on PlatformException {
      platformVersion = 'Failed to get platform version.';
    }
    
    if (!mounted) return;

    setState(() {
      _platformVersion = platformVersion;
    });
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Plugin example app'),
        ),
        body: Center(
          child: Text('Running on: $_platformVersion\n'),
        ),
      ),
    );
  }
}
{{/withPluginHook}}
       

Если бы кто-нибудь мог объяснить синтаксис шаблона, это очень помогло бы. Спасибо :)

0 ответов

Другие вопросы по тегам