0

我试图修改默认的颤振模板以将其调整为我的工作流程并减少项目初始化时的工作量。

重要的是要注意,

  1. 我能够StatefulWidget成功删除主页
  2. 我将默认更改MaterialAppGetMaterialApp

经过上述修改后,模板运行良好,但我试图再尝试几次,但它们不起作用。

  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}}
       

如果有人可以解释模板语法,那将有很大帮助。谢谢 :)

4

0 回答 0