gpt4 book ai didi

typescript - 编译为 umd 时如何修复 typescript 中的 Handlebars 'module not found'

转载 作者:行者123 更新时间:2023-12-03 16:49:53 39 4
gpt4 key购买 nike

当我使用 import * as Handlebars from 'handlebars' 时,我正在尝试在我用 typescript 编写的客户端 JavaScript 库中使用 Handlebars 我收到一条错误消息,指出 typescript “找不到模块 typescript ”

我试过导入 import * as Handlebars from 'handlebars/runtime'而不仅仅是 handlebars没运气。

我发现了一个类似的问题 here并尝试将 Handlebars 替换添加到我的 tsconfig 文件中,这无助于查找模块

我觉得指定我正在运行 umd 编译很重要的原因是,如果我将其设置为 commonjs 编译,那么找到该引用似乎没有问题,但从我执行的研究来看,只有当你需要时才推荐使用 commonjs将该库用作nodejs应用程序的一部分(可能在服务器环境中运行),因为这是我正在创建的客户端库我不相信这是一个合适的解决方案,尽管有人可能能够证明我错了。以 umd 为目标似乎同时提供 commonjs 和 amd 编译,所以我认为这将是“两全其美”的解决方案

配置:

{
"compilerOptions": {
"target": "es5",
"module": "umd",
"strict": true,
// "paths": {
// "handlebars": ["handlebars/dist/handlebars.min.js"]
// },
"esModuleInterop": true
}
}



包json:
{
"name": "test",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"handlebars": "^4.1.2"
}
}

main.ts:
import * as Handlebars from 'handlebars'

export function hello() {
Handlebars.compile("");
}

这里的预期结果是使用 Handlebars 作为我图书馆的一部分。

最佳答案

我很幸运 import Handlebars from "handlebars/dist/handlebars.js"

关于typescript - 编译为 umd 时如何修复 typescript 中的 Handlebars 'module not found',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56103335/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com