如何禁用生成“exports.__esModule = true;” 和“需要(“lib”);”

IT *_*Han 4 typescript

例如:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <div id="app">
        {{ message }}
    </div>

    <script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.js'></script>
    <script src='https://cdnjs.cloudflare.com/ajax/libs/vue/2.6.10/vue.js'></script>
    <script src="app.js"></script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

应用程序.ts:

import { Vue } from "vue/types/vue";

let vue = new Vue({
    el:"#app",
    data:{
        text:"hello world"
    }
})
Run Code Online (Sandbox Code Playgroud)

cmd后tsc会生成下面的js

"use strict";
exports.__esModule = true;
var vue_1 = require("vue/types/vue");
var vue = new vue_1.Vue({
    el: "#app",
    data: {
        text: "hello world"
    }
});
Run Code Online (Sandbox Code Playgroud)

我的预期

我希望禁用生成“exports.__esModule = true;” 和“需要(“lib”);”

import { Vue } from "vue/types/vue";

let vue = new Vue({
    el:"#app",
    data:{
        text:"hello world"
    }
})
Run Code Online (Sandbox Code Playgroud)

附:

我使用DefinitelyTyped来获得类型确定

Sha*_*tin 6

tsconfig.json 更改modulees2015moduleResolutionnode

{
  "compilerOptions": {
    "target": "es5",
    "module": "es2015",
    "moduleResolution": "node"
  }
}
Run Code Online (Sandbox Code Playgroud)

这就是推荐配置

和是当我们从 ES 模块转换为 commonjsexports.__esModule(使用 babel 或 TypeScript)require('lib')时发生的情况。