javascript:在模块内部使用strict是不必要的

时间:2018-03-20 13:48:29

标签: javascript

tsling引发错误:

  

第1行:模块内部不需要'use strict'(严格)

这是我的代码

"use strict";

function Foo() {}

Foo.prototype.sayHello= function () {
    console.log("hello!");
}

if (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {
    module.exports = { 
        Foo: Foo
    };
}

如何修复此错误?

旁注

我的代码同时使用module和vanilla javascript。我想仅将"strict mode"用于vanilla javascript。

也许我可以使用

if (typeof module !== 'undefined') {
    "use strict";
}

仅针对vanilla javascript启用strict mode

2 个答案:

答案 0 :(得分:9)

删除# encoding=utf8。正如错误所提到的那样,这是不必要的。模块应该以严格的模式执行。当您将模块导出到非模块消耗的脚本(即UMD / CJS)时,编译器将为您添加它。请参阅TS的'use strict'选项。

答案 1 :(得分:3)

ES6模块始终处于严格模式。