相关疑难解决方法(0)

如何使用 ECMAScript (vanilla javascript) 和模块 es6 导入

我读了这篇文章,我想使用 D3.js (v4+) 仅使用这样的 import 语句:

import { selection } from '../node modules/d3/build/d3.js';
Run Code Online (Sandbox Code Playgroud)

但是,因为代码输出是UMD(或读取this)并且无法导入,因为某些全局变量未定义,并且 ES6 无法解析例如中的绝对名称node_modules,并且 vanilla 不支持没有扩展名的 import 语句,如下所示:

import * as someFeature from './myAwesomeModule';
Run Code Online (Sandbox Code Playgroud)

这是导入模块的模式,每一天都在成长,就像你在这里看到的那样

今天我如何在没有任何插件的情况下使用 import 语句?

javascript d3.js umd

5
推荐指数
1
解决办法
1712
查看次数

使用 VS Code 从 HTML `<script>` 引用 TypeScript 定义文件

我可以在 HTML 中的标记JSDoc中使用script,但无法引用类型定义文件 ( .d.ts)。我在用着VS Code。这可能吗?如果可以我该怎么做?下面是一些示例代码:

tsconfig.json文件(我不确定如何在我的测试中完全使用它,它似乎不需要。):

{
    "compilerOptions": {
        "baseUrl": ".",
        "paths": {
            "myLib": ["types/MyLib/index.d.ts"],
            "myLib2": ["types/MyLib/index2.d.ts"]
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

尝试1:

types/MyLib/index.d.ts

declare namespace myLib {
  function makeGreeting(s: string): string
  let numberOfGreetings: number
}
Run Code Online (Sandbox Code Playgroud)

在 JS 文件中index.js,工作正常:

/// <reference path="./types/MyLib/index.d.ts" />
// @ts-check

var result = myLib.makeGreeting("Cheese")
console.log(result)
Run Code Online (Sandbox Code Playgroud)

在 HTML 文件中(这些都不起作用)index.html

<script>
    /// <reference path="./types/MyLib/index.d.ts" />
    // @ts-check
    var result = myLib.makeGreeting("Cheese")
</script>

<script> …
Run Code Online (Sandbox Code Playgroud)

html jsdoc typescript visual-studio-code

3
推荐指数
1
解决办法
1744
查看次数

标签 统计

d3.js ×1

html ×1

javascript ×1

jsdoc ×1

typescript ×1

umd ×1

visual-studio-code ×1