错误:找不到:'dart:js'导入'dart:js';

时间:2019-12-25 15:41:11

标签: android flutter dart

我正在AppBar部分中创建一个PopupMenuButton()。
这是我的文件:

import 'dart:js';
import 'package:bfdi_app/settings.dart';
import 'package:cached_network_image/cached_network_image.dart';
import 'package:flutter/material.dart';

class ProfilePage extends StatefulWidget {

  @override
  _ProfilePageState createState() => _ProfilePageState();
}

class _ProfilePageState extends State<ProfilePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(
          'App_Name',
          ),
        actions: <Widget>[
            PopupMenuButton(
              icon: Icon(Icons.settings),
              onSelected:(value){
                if(value==0){
                  Navigator.push(
                    context,
                    MaterialPageRoute(builder: (context)=>SettingPage())
                  );
                }
              },
              itemBuilder: (context) => [
                    PopupMenuItem(
                      child: Text("Settings"),
                      value:0,
               ],
            ),
          ],
       ),
      }

现在我在控制台日志中遇到错误:

Compiler message:
lib/Pages/addPost.dart:1:8: Error: Not found: 'dart:js'
import 'dart:js';
       ^
lib/Profile/profile.dart:1:8: Error: Not found: 'dart:js'
import 'dart:js';
       ^

我已经添加了依赖项dart:js,但仍然遇到相同的错误。 错误: enter image description here

6 个答案:

答案 0 :(得分:1)

引用pub.dev

  1. 依靠它
    将此添加到您程序包的pubspec.yaml文件中:

    dependencies:
      js: ^0.6.2
    
  2. 安装
    您可以从命令行安装软件包:

    pub

    $ pub get
    

    flutter

    $ flutter pub get
    

    或者,您的编辑器可能支持pub get或flutter pub get。查看您的编辑器文档以了解更多信息。

  3. 导入 现在,在Dart代码中,您可以使用:

    import 'package:js/js.dart';
    

答案 1 :(得分:0)

尝试使用 js 软件包:https://pub.dev/packages/js#-installing-tab-
您应该尝试使用package:js而不是dart:js

答案 2 :(得分:0)

编辑:我已经切换到主频道,并且一切正常。尽管我在您当前的代码中看不到dart.js的任何要求。所以你也可以删除它


原始答案: 我相信您正在使用stable channel,因此请尝试切换到beta channel。 打开终端并运行,

$ flutter channel beta

答案 3 :(得分:0)

转到已安装的Flutter安装目录/.pub-cache/hosted/pub.dartlang.org/js-0.6.3-nullsafety.1/lib/js.dart

删除或注释此行:

export 'dart:js' show allowInterop, allowInteropCaptureThis;

然后重试

答案 4 :(得分:0)

实际上,我的问题仅通过系统重启和“flutter clean”命令就解决了。 (是的,我正在使用 beta 频道)但奇怪的是文件已经存在,但依赖项不知何故无法从 dart 包中读取。

答案 5 :(得分:0)

我只是 del import 'package:js'。它对我有用。