Thank you for your support, it works!
I also apply for tailwind like esbuild and it works too!
my config:
config.exs:
config :esbuild,
version: "0.17.11",
back: [
args:
~w(js/app.js --bundle --target=es2017 --outdir=../priv/static/assets --external:/fonts/* --external:/images/*),
cd: Path.expand("../apps/back/assets", __DIR__),
env: %{"NODE_PATH" => Path.expand("../deps", __DIR__)}
],
front1: [
args:
~w(js/app.js --bundle --target=es2017 --outdir=../priv/static/assets --external:/fonts/* --external:/images/*),
cd: Path.expand("../apps/front1/assets", __DIR__),
env: %{"NODE_PATH" => Path.expand("../deps", __DIR__)}
]
config :tailwind,
version: "3.2.7",
back: [
args: ~w(
--config=tailwind.config.js
--input=css/app.css
--output=../priv/static/assets/app.css
),
cd: Path.expand("../apps/back/assets", __DIR__)
],
front1: [
args: ~w(
--config=tailwind.config.js
--input=css/app.css
--output=../priv/static/assets/app.css
),
cd: Path.expand("../apps/front1/assets", __DIR__)
]
...
config :back, Back.Endpoint,
...
watchers: [
esbuild: {Esbuild, :install_and_run, [:back, ~w(--sourcemap=inline --watch)]},
tailwind: {Tailwind, :install_and_run, [:back, ~w(--watch)]}
]
...
config :front1, Front1.Endpoint,
...
watchers: [
esbuild: {Esbuild, :install_and_run, [:front1, ~w(--sourcemap=inline --watch)]},
tailwind: {Tailwind, :install_and_run, [:front1, ~w(--watch)]}
]
apps\back\mix.exs:
...
defp aliases do
[
setup: ["deps.get", "assets.setup", "assets.build"],
test: ["ecto.create --quiet", "ecto.migrate --quiet", "test"],
"assets.setup": ["tailwind.install --if-missing", "esbuild.install --if-missing"],
"assets.build": ["tailwind back", "esbuild back"],
"assets.deploy": ["tailwind back --minify", "esbuild back --minify", "phx.digest"]
]
end
apps\front1\mix.exs:
...
defp aliases do
[
setup: ["deps.get", "assets.setup", "assets.build"],
test: ["ecto.create --quiet", "ecto.migrate --quiet", "test"],
"assets.setup": ["tailwind.install --if-missing", "esbuild.install --if-missing"],
"assets.build": ["tailwind front1", "esbuild front1"],
"assets.deploy": ["tailwind front1 --minify", "esbuild front1 --minify", "phx.digest"]
]
end