NodeJS 如何在Tailwind配置文件中导入ES模块?

h9a6wy2h  于 2023-04-20  发布在  Node.js
关注(0)|答案(1)|浏览(125)

我在Tailwind配置文件中配置自己的插件,通过CommonJS语法require('/my-plugin');导入ES模块,但在尝试构建时出现错误:

SyntaxError: Cannot use import statement outside a module
    at compileFunction (<anonymous>)

由于我在my-plugin文件中使用ES6语句(例如importexport default),因此即使我使用常规的require语句将其导入Tailwind配置文件,这些语句也会引发错误。
如何解决此问题?
我的代码:

  • tailwind.config.js*
const myPlugin = require('./my-plugin');

module.exports = {
    mode: 'jit',
    darkMode: 'class',
    content: [
        './pages/**/*.{js,ts,jsx,tsx}',
        './components/**/*.{js,ts,jsx,tsx}',
    ],
    theme: {
    }   
    plugins: [
        myPlugin(),       
    ],
};
  • ./my-plugin
import ... from ...

const MyPlugin = () => {}

export default MyPlugin
fjaof16o

fjaof16o1#

确保您:

  • 正在运行Tailwind v3.3+以支持配置文件ESM格式
  • 如果在项目的package.json中没有"type": "module",请使用mjs扩展名来代替tailwind.config.js
  • 在配置文件中使用ESM语法
  • theme对象声明后添加逗号
  • 不执行import艾德插件函数
import myPlugin from './my-plugin';

export default {
    mode: 'jit',
    darkMode: 'class',
    content: [
        './pages/**/*.{js,ts,jsx,tsx}',
        './components/**/*.{js,ts,jsx,tsx}',
    ],
    theme: {
    },
    plugins: [
        myPlugin,       
    ],
};

相关问题