找不到名称“ JSON”打字稿文件

时间:2020-03-13 04:14:59

标签: json angular typescript

我创建了一个有角度的应用程序,其中正在执行JSON.stringify,JSON.parse之类的JSON转换功能。我遇到诸如找不到名称“ JSON”的错误,并且在tsconfig.json中也出现错误,如下所示

“-lib”选项的参数必须为:“ es5”,“ es6”,“ es2015”,“ es7”,“ es2016”,“ es2017”,“ esnext”,“ dom”,“ dom.iterable” ','webworker','scripthost','es2015.core','es2015.collection','es2015.generator','es2015.iterable','es2015.promise','es2015.proxy','es2015.reflect ','es2015.symbol','es2015.symbol.wellknown','es2016.array.include','es2017.object','es2017.sharedmemory','es2017.string','es2017.intl','esnext .asynciterable”。

tsconfig.json

class UserModel {

  /// Document ID of the user on database
  String _firebaseId = ""; 
  String get firebaseId => _firebaseId;
  set firebaseId(newValue) => _firebaseId = newValue;

  DateTime _creationDate = DateTime.now();
  DateTime get creationDate => _creationDate;

  DateTime _lastUpdate = DateTime.now();
  DateTime get lastUpdate => _lastUpdate;

  String _displayName = "";
  String get displayName => _displayName;
  set displayName(newValue) => _displayName = newValue;

  String _username = "";
  String get username => _username;
  set username(newValue) => _username  = newValue;

  String _photoUrl = "";
  String get photoUrl => _photoUrl;
  set photoUrl(newValue) => _photoUrl = newValue;

  String _phoneNumber = "";
  String get phoneNumber => _phoneNumber;
  set phoneNumber(newValue) => _phoneNumber = newValue;

  String _email = "";
  String get email => _email;
  set email(newValue) => _email = newValue;

  String _address = "";
  String get address => _address;
  set address(newValue) => _address = newValue;

  bool _isAdmin = false;
  bool get isAdmin => _isAdmin;
  set isAdmin(newValue) => _isAdmin = newValue;

  /// Used on first login
  UserModel.fromFirstLogin() {
    _creationDate     = DateTime.now();
    _lastUpdate       = DateTime.now();
    _username         = "";
    _address          = "";
    _isAdmin          = false;
  }

  /// Used on any login that isn't the first
  UserModel.fromDocument(Map<String, String> userDoc) {
    _firebaseId           = userDoc['firebaseId']  ?? '';
    _displayName          = userDoc['displayName'] ?? '';
    _photoUrl             = userDoc['photoUrl'] ?? '';
    _phoneNumber          = userDoc['phoneNumber'] ?? '';
    _email                = userDoc['email'] ?? '';
    _address              = userDoc['address'] ?? '';
    _isAdmin              = userDoc['isAdmin'] ?? false;
    _username             = userDoc['username'] ?? '';
    //_lastUpdate           = userDoc['lastUpdate'] != null ? userDoc['lastUpdate'].toDate() : DateTime.now();
    //_creationDate         = userDoc['creationDate'] != null ? userDoc['creationDate'].toDate() : DateTime.now();
  }

  void showOnConsole(String header) { 

    print('''

      $header

      currentUser.firebaseId: $_firebaseId
      currentUser.username: $_username
      currentUser.displayName: $_displayName
      currentUser.phoneNumber: $_phoneNumber
      currentUser.email: $_email
      currentUser.address: $_address
      currentUser.isAdmin: $_isAdmin
      '''
    );
  }

  String toReadableString() {
    return  
      "displayName: $_displayName; "
      "firebaseId: $_firebaseId; "
      "email: $_email; "
      "address: $_address; "
      "photoUrl: $_photoUrl; "
      "phoneNumber: $_phoneNumber; "
      "isAdmin: $_isAdmin; ";
  }
}

login.component.ts

CREATE PROCEDURE proc_update_total 
    @id1 INT, @id2 INT,@column_name VARCHAR(20)
AS
BEGIN
    SET NOCOUNT ON;

    declare @strquery varchar(max)

    set @strquery= 'SELECT TOP 1 '+QUOTENAME(@column_name)+ ' FROM tbl_tbl_table1 WHERE id1 = '+@id1+ ' AND id2 = '+@id2

    create table #result(data int)

    insert into #result
    exec(@strquery)


    IF ((SELECT data FROM #result) = 0)

        BEGIN
            IF (SELECT total FROM tbl_tbl_table1 WHERE id1 = @id1 AND id2 = @id2) > 0 
                BEGIN
                    UPDATE tbl_table1
                    SET total -= (SELECT amount FROM tbl_tbl_table2 WHERE name = QUOTENAME(@column_name)) 
                    WHERE  id1 = @id1 AND id2 = @id2
                END
        END
END
GO

1 个答案:

答案 0 :(得分:1)

在compileOptions的lib中添加es5

  "compilerOptions": {
    "target": "es5",
    "module": "es2015",
    "lib": [
      "es5",
      "dom"
    ]
  }