- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在测试用 esbuild 替换 Webpack 5。你如何在一个包中导出全局变量?我只有一个依赖项 jQuery,但将来我会有更多。我的 esbuild 脚本是:
// build.js
const esbuild = require('esbuild');
esbuild
.build({
bundle: true,
entryNames: "[dir]/[name].[hash]",
entryPoints: {
libs: "src/libs.js",
},
outbase: "src",
outdir: "dist",
platform: 'browser',
})
.catch(() => process.exit(1));
libs.js
指示要捆绑的依赖项是:
// src/libs.js
import 'jquery';
这是我的package.json
:
{
// ...
"dependencies": {
"jquery": "~3.6.0"
},
"devDependencies": {
"esbuild": "^0.14.23"
},
// ...
}
运行构建脚本会将 jQuery 正确地捆绑在 dist/libs.{hash}.js
中,但是通过脚本标签将其包含在网页中不会暴露任何 window.$
也不是 window.jQuery
。如何导出这些内容?
在 Webpack 5 中,我会使用 expose-loader
来实现这一点:
module.exports = {
module: {
rules: [
{
test: require.resolve('jquery'),
loader: 'expose-loader',
options: {exposes: ["$", "jQuery"]},
},
],
},
};
最佳答案
为了让它与 esbuild 一起工作,您必须从模块中导入一个对象,并在 window
上设置该对象。例如,
// Import module.
import * as module from 'module';
// Export module on window.
window.module = module;
jQuery 导出 jQuery
对象作为默认值。要将其作为全局导出,您必须执行以下操作:
// Import jQuery.
import {default as jQuery} from 'jquery';
// Which can be shortened to.
import jQuery from 'jquery';
// Then export jQuery.
window.$ = jQuery;
window.jQuery = jQuery;
关于javascript - 您如何使用 esbuild 捆绑导出全局变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71229017/
相信很多小伙伴第一次使用 Vite 开发项目的时候,都会被它的速度震惊到。为什么 Vite 那么快呢?除了使用了 ES modules 之外,Vite 内部还使用了一个神器 —— esbuild。
我正在尝试使用 esbuild 在 npm 项目中捆绑和缩小我的文件。它正在最小化我传入的每个文件,但它不是捆绑。当有多个文件时,它给了我必须使用“outdir”的错误。但是,这让我将所有这些文件最小
Hello,我是三元同学。之前停更了一段时间,因为得了流感,一直在家养病,没来得及更新文章,跟读者朋友们先说声抱歉~今天给大家带来的是我最近写的原创文章,由于近段时间一直在研究前端构建相关的领域
我正在测试用 esbuild 替换 Webpack 5。你如何在一个包中导出全局变量?我只有一个依赖项 jQuery,但将来我会有更多。我的 esbuild 脚本是: // build.js cons
更新 用户@TKoL 建议在窗口对象中定义一个属性。这产生了我想要达到的结果,尽管我不知道这是否是正确的方法。我将暂时使用这种方法。谢谢! 我正在使用 esbuild在我的项目中(第一次使用 bund
我正在尝试导入 bootstrap JS在我的 esbuild 构建中: // index.js import 'jquery-import' import 'bootstrap' // jquery
我刚刚将我的 Angular 从 https://update.angular.io/?l=3&v=10.0-12.0 从 10 升级到 12每一步都成功了,现在 npm install 发出以下警告
背景: 我有一个 Webpack setup我使用带有 esbuild-loader 的实时 HMR 服务器使用 PurgeCSS 预处理 SCSS用于加快 Webpack 中的编译,但即便如此我的编
使用捆绑器的插件来执行某些工作意味着什么,我的意思是我还没有使用捆绑器的经验,我想通过使用 esbuild 和 tailwindcss 以及 react、typescript 和所有内容创建一个“专业
StateOfJS 发布的 2021 年 JavaScript 现状调查报告 指出, 与 2016 年相比,JavaScript 现在的状态要好得多。在第一次进行 JS 现状调查时,TypeScri
我有一堆扩展名为 js 的文件而不是 jsx . (这是一个 react 项目)。 我使用这样的脚本设置我的 package.json 以进行构建: "build": "esbuild src/App
我有一堆扩展名为 js 的文件而不是 jsx . (这是一个 react 项目)。 我使用这样的脚本设置我的 package.json 以进行构建: "build": "esbuild src/App
我正在将 Rails 6 应用程序从 webpack 和 webpacker 迁移到 esbuild 和 jsbundling-rails 如果不使用刺激,我找不到任何关于在 application.
基本上,正如标题所说。我安装了一个 gem,它可以让我使用一些 JS。在我使用 Sprockets + Assets 管道之前,这不是问题。 现在,我迁移到 jsbundling-rails 并且不知
我正在尝试使用 esbuild bundle “express.js”脚本 esbuild index.js --bundle --platform=node --outfile=server.js
CesiumJS 更新日志 1.96 与 1.97 - 新构建工具 esbuild 体验及 Model API 更替完成 截止发文,1.97 还未发布,但已经在源码仓库完成了 Model API 的替
在我的 WSL2 debian 中工作时,我在尝试将 lambda 与 esbuild 捆绑在一起时遇到 cdk 问题 esbuild 作为全局 npm 包安装,也在我的 cdk 项目的 devDep
我在使用 webpack 5、express、github 操作时遇到了一些错误。我使用 github actions 因为想使用 github secrets。另外,我使用 webpack 是因为使
我是一名优秀的程序员,十分优秀!