1

我和开发团队一直在将我们当前的设置从 webpack 迁移到 esbuild。我们有一些依赖于 actioncable 的咖啡脚本文件。自从删除 webpacker 依赖项/webpack-dev-server 后,Actioncable 已完全停止。有谁知道如何让 actioncable 在窗口级别运行,以便我们的咖啡脚本文件可以访问它?我们使用 sockjs-node 进行 webpack 设置,并且需要使用 esbuild 获得相同的结果。

包.json

{
  "name": "app",
  "private": "true",
  "dependencies": {
    "@rails/actioncable": "^7.0.0"
    "@hotwired/turbo-rails": "^7.0.1",
    "@popperjs/core": "^2.10.2",
    "bootstrap": "^5.1.1",
    "esbuild": "^0.13.3",
    "esbuild-rails": "^1.0.3",
    "sass": "^1.42.1"
  },
  "scripts": {
    "build": "node esbuild.config.js",
    "build:css": "sass ./app/assets/stylesheets/application.bootstrap.scss ./app/assets/builds/application.css --no-source-map --load-path=node_modules"
  }
}

esbuild.config.js

const path = require('path')
const rails = require('esbuild-rails')

require("esbuild").build({
    entryPoints: ["application.js"],
    bundle: true,
    outdir: path.join(process.cwd(), "app/assets/builds"),
    absWorkingDir: path.join(process.cwd(), "app/javascript"),
    watch: process.argv.includes("--watch"),
    plugins: [rails()],
}).catch(() => process.exit(1))

应用程序.js

从“actioncable”导入 actioncable

4

0 回答 0