首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TypeScript导入:加载资源失败(404)

TypeScript导入:加载资源失败(404)
EN

Stack Overflow用户
提问于 2020-09-27 10:26:40
回答 2查看 1.7K关注 0票数 1

我正在编码我的第一个打字本文件,我有问题的包导入。

我想在我的项目中使用的包称为摊牌

libman.json

代码语言:javascript
复制
{
  "version": "1.0",
  "defaultProvider": "cdnjs",
  "libraries": [
    {
      "library": "showdown@1.9.1",
      "destination": "wwwroot/lib/showdown/"
    }
  ]
}

下载文件通过libman下载到www.root

我的site.ts文件看起来像

代码语言:javascript
复制
import { showdown } from "../lib/showdown/showdown";

function ConvertMarkdownToHtml(markdown) {
    var converter = new showdown.Converter({ tables: true, strikethrough: true });
    var html = converter.makeHtml(markdown);
    return html;
}

我通过带有模块类型的脚本标记将底层的site.js文件导入到网页。

代码语言:javascript
复制
@section Scripts {
    <script type="module" src="~/js/site.js"></script>
}

但我还是会犯错误

加载资源失败:服务器响应状态为404 (未找到)

我错过了什么?

更新

404错误与site.js文件有关。

看起来,site.js根本没有生成,因为在site.ts中是一个错误。

代码语言:javascript
复制
../lib/showdown/ showdown has no exported member showdown

以下更改不会引发任何错误

代码语言:javascript
复制
import * as showdown from "../lib/showdown/showdown";

export function ConvertMarkdownToHtml(markdown) {
    var converter = new showdown.Converter({ tables: true, strikethrough: true });
    var html = converter.makeHtml(markdown);
    return html;
}

但是如何从html文件调用ConvertMarkdownToHtml呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-10-25 18:32:32

我跟踪@Paul-Louis Mas的回答,并给出了描述这里的提示

index.html

代码语言:javascript
复制
@section Scripts {

    <script src="~/lib/showdown/showdown.min.js"></script>
    
    <script type="module">
         import { ConvertMarkdownToHtml } from "./dist/site.js"
    
         var html = ConvertMarkdownToHtml('...');
    </script>

site.js

代码语言:javascript
复制
declare var showdown: any;
export function ConvertMarkdownToHtml(markdown) {
    var converter = new showdown.Converter({ tables: true, strikethrough: true });
    var html = converter.makeHtml(markdown);
    return html;
}

它的作用是:)

  • declare var showdown: any;是如何在不解决无数编译错误的情况下使用外部js库的关键。缺点是我们没有这样的intellisense。
票数 1
EN

Stack Overflow用户

发布于 2020-10-24 17:06:16

在搜索了一段时间之后,似乎无法在全球范围内使用来自模块的导入,所以您已经尝试过这样做了:

代码语言:javascript
复制
@section Scripts {
    <script type="module">
        import { ConvertMarkdownToHtml } from '~/js/site.js';

        // Do the logic here using ConvertMarkdownToHtml
    </script>
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64087394

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档