使用vite-plugin-nunjucks报错TypeError: nunjucks is not a function求助
报错原因及解决方法
核心原因
报错TypeError: nunjucks is not a function的本质是你导入的nunjucks不是可执行的初始化函数,通常是插件导入方式错误导致的。
具体解决步骤
1. 修正插件导入方式
vite-plugin-nunjucks的正确导入可能需要使用命名导入而非默认导入,修改vite.config.js中的导入代码:
import { nunjucks } from "vite-plugin-nunjucks"; export default { plugins: [nunjucks({})], root: "src", build: { outDir: "../dist", emptyOutDir: true, }, };
2. 排查版本兼容性问题
如果上述修改无效,先确认插件与当前Vite版本是否兼容:
- 卸载现有插件:
npm uninstall vite-plugin-nunjucks - 安装最新稳定版:
npm install vite-plugin-nunjucks --save-dev
3. 调试插件导出结构
若问题仍存在,可通过打印导入内容确认结构,在vite.config.js顶部添加调试代码:
import nunjucks from "vite-plugin-nunjucks"; console.log(nunjucks);
运行npm run dev后查看终端输出:
- 若输出是包含
default属性的对象,需调用nunjucks.default():plugins: [nunjucks.default({})], - 若输出是包含
nunjucks属性的对象,保持命名导入方式即可。
4. 适配配置文件语法
如果你的Vite配置文件是CommonJS格式(vite.config.cjs),导入方式需改为:
const { nunjucks } = require("vite-plugin-nunjucks");
内容的提问来源于stack exchange,提问作者AL-IMRAN
相关产品推荐
相关产品推荐

