El equipo de desarrollo y yo hemos estado en el proceso de mover nuestra configuración actual de webpack a esbuild. Tenemos algunos archivos de coffeescript que se basan en actioncable. Actioncable se detuvo por completo desde que eliminó las dependencias de webpacker/webpack-dev-server. ¿Alguien sabe cómo hacer que actioncable se ejecute en el nivel de la ventana, para que nuestros archivos de scripts de café puedan acceder a él? Usamos sockjs-node para la configuración de nuestro paquete web y necesitamos obtener los mismos resultados con esbuild.
paquete.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))aplicación.js
importar actioncable desde "actioncable"