网站搜索
我有如下代码。我想为类使用单个命名空间 Namespace1,但我不知道如何在不使用模块导入的情况下合并它们。我认为,如果在 IDE 和 TS (npx tsc) 中一切正常,那么打包应该没有问题。如果我使用模块,TS 中的组合就不正确。一些类型检测,例如 someMethod (in: Namesace1.Class1),无法工作。
我把所有东西都打包在esbuild里。有办法做到吗?有可能在不使用 import 的情况下将必要的文件合并到包中吗?这可能是 esbuild 的错误吗?
class1.ts:
namespace Namespace1 { export class Class1 { } }class2.ts:
namespace Namespace1 { export class Class2 { 阅读更多 →我想在 webpack 中将 ts-loader 替换为 esbuild-loader 以提高构建时间/监听编译时间。
在我们的项目中,我们使用各种类型声明文件 .d.ts 来加载类型/接口等。然而运行 esbuild-loader 时会遇到一堆关于它们的错误,如...
Module not found: Error: Can't resolve '../../../../../../interfaces/some-d-ts-file' in 'some-tsx-file.tsx'特别是在抱怨这个的代码中...
哪一个是 interface.d.ts
阅读更多 →我正在尝试让 Angular 在 Rails 6 项目中运行。我已经安装了 jsbundling-rails(使用 esbuild)和 typescript-rails gem 来加载我的 JavaScript 和 TypeScript 文件。应该发生的是,我编写一些 TS,然后 typescript-rails 将其转译为 JS,接着 esbuild 将其全部打包,最后 jsbundling-rails 在 Rails 应用程序中运行它。
这种方法在某种程度上有效,但当我使用像 @NgModule 这样的 TypeScript 装饰器时就不行了。它可以正确地被转译成 JS,但随后无法运行,因为在 @ 符号处我会收到 Invalid or unexpected token 错误。我尝试在 typescript-rails 配置中加入 --experimentalDecorators 标志,但没有帮助。
这是因为 typescript-rails gem 正在将(标准的)TS 装饰
阅读更多 →我正在尝试设置我的共享包,以允许从特定的子路径导入模块(例如,@shared/utils, @shared/hooks)。为此,我已经按如下方式配置了我的 package.json:
// package.json { // .. "exports": { ".": { "default": "./dist/index.js", "types": "./dist/index.d.ts" }, "./utils": { "default": "./dist/utils/index.js", "types": "./dist/utils/index.d.ts" }, // .. } }我正在使用 esbuil
阅读更多 →我有一个包含 DefinePlugin 的 webpack 配置,用于将计算得到的编译时值注入到打包的代码中。
示例:
// webpack.config.js new DefinePlugin({ 'process.env.APP_BUILD_MODE': JSON.stringify(passedInValueFromCLI) }) //---------------------------------------------------------------------- // app.ts // Here, I use the `process.env.APP_BUILD_MODE` that was exposed // by the DefinePlugin, in Webpack const production: boolean = process.env.APP_BUILD_MODE === 'production';我正在重新
阅读更多 →
我目前正在尝试将一些代码从 JavaScript 迁移到 TypeScript。这段代码使用了 knex 包。我可以使用 tsc 构建和运行它,但我希望改用 esbuild(为了更快的构建速度)。
我使用以下工具建造:
npx esbuild index.ts --bundle --platform=node --sourcemap=external --outfile=dist/index.js但是当我尝试运行编译后的代码时,我得到:
Canno 阅读更多 →
问题:
我正在尝试构建将部署到 AWS Lambda 的 Typescript 代码。然而,在执行 Aws Sam build 时,我得到了标题中提到的错误。以下是具体的错误信息。
Building codeuri: D:\AWS\demo-app\hello-world runtime: nodejs16.x metadata: {'BuildMethod': 'esbuild', 'BuildProperties': {'Minify': True, 阅读更多 →我正在开发一个 JS 库,计划用 TypeScript 和 esbuild 发布到 npm。我的 esbuild 命令可以成功将所有 .ts 文件压缩成一个单独的 .js 文件。问题是没有类型定义,所以如果我只发布 .js 文件,使用我库的用户将没有类型定义。我如何配置 esbuild 来包含类型定义?
附带说明:我需要担心通过 import/module/es5 发布不同版本的 JS 吗?我只是希望这个库可以被所有人使用。
阅读更多 →
我在 Serverless 框架中使用 serverless-layers 插件,所以我想从 esbuild 中排除 node_modules 目录。
根据官方文件,我可以将“*”设置到 serverless-esbuild 的排除选项中,以排除整个 node_modules 目录。
要从 Lambda 中排除的一组依赖项。这将传递给 esbuild 的 external 选项。设置为 * 可以禁用打包 node_modules ['aws-sdk']
阅读更多 →
我目前正在使用 AWS 无服务器应用程序模型 (SAM) 来管理我的 TypeScript Lambda 函数,并且我在构建过程中依赖 esbuild。
我想在构建过程中使用 esbuild 插件以支持 TypeScript 项目引用,以便在多个 Lambda 函数之间共享代码。然而,我不确定如何直接在 template.yaml 中包含这些插件,或者是否支持这样做。这是我当前 template.yaml 的一个片段:
Resources: HelloWorldFunction: Type: AWS::Serverless::Function Metadata: BuildMethod: esbuild BuildProperties: Minify: true Target: es2020 # ... other properties有没有办法直接在 SAM 模板中指定 esbuild 插件?如果不直接支持,有没
阅读更多 →