【问题标题】:How to disable generate "exports.__esModule = true;" and "require("lib");"如何禁用生成“exports.__esModule = true;”和“要求(“lib”);”
【发布时间】:2019-06-08 00:28:57
【问题描述】:

例如:

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

app.ts:

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

let vue = new Vue({
    el:"#app",
    data:{
        text:"hello world"
    }
})

cmdtsc之后会在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"
    }
});

我的预期

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

var vue = new Vue({
    el: "#app",
    data: {
        text: "hello world"
    }
});

PS:

我使用DefinitelyTyped 来确定类型

【问题讨论】:

    标签: typescript


    【解决方案1】:

    将您的 tsconfig.json module 更改为 es2015moduleResolution 更改为 node

    {
      "compilerOptions": {
        "target": "es5",
        "module": "es2015",
        "moduleResolution": "node"
      }
    }
    

    那是recommended configuration

    exports.__esModulerequire('lib') 是当我们 transpile from an ES module to commonjs(使用 babel 或使用 TypeScript)时发生的事情。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-08-07
      • 2018-04-28
      • 1970-01-01
      • 2017-08-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多