vite-deno-plugin
vite-deno-plugin copied to clipboard
A Vite plugin that can resolve Deno modules.
vite-deno-plugin
A Vite plugin that can resolve Deno modules.
- Run Vite without
node_modulesdirectory. - URL import just works.
- Import map support.
Motivation
Deno now supports npm module loading and can run Vite. However, the development
experience with Deno is not consistent with Vite, as Vite tries to load modules
from node_modules, which requires a node_modules directory and
--node-modules-dir flag. By using this plugin, the same module resolution as
in Deno can be used inside Vite.
Getting Started
Configure a plugin in vite.config.mts(NOT vite.config.ts).
import { defineConfig } from "npm:[email protected]";
import viteDeno from "https://deno.land/x/vite_deno_plugin/mod.ts";
export default defineConfig({
plugins: [viteDeno({})],
});
$ deno run -A npm:[email protected] . --config ./vite.config.mts
For more details, check out React example directory.
Config
importMapFilename
Specify the filename of import map. Default value is deno.json.
viteDeno({
importMapFilename: "deno.json",
});
Known Issues
npm:*specifier is not supported. So you have to load npm modules viahttps://esm.sh/instead.- Loading remote Deno modules does not work. For example, libraries hosted in deno.land cannot be loaded with this plugin.