Я настраиваю свои собственные плагины в конфигурационном файле Tailwind, импортируя модуль ES с синтаксисом CommonJS require('/my-plugin');
, но при попытке сборки получаю сообщение об ошибке:
SyntaxError: Cannot use import statement outside a module
at compileFunction (<anonymous>)
Поскольку я использую операторы ES6 в файле my-plugin
(например, import
, export default
), они вызывают ошибки, даже если я использую обычные операторы require
для импорта их в файл конфигурации 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(),
],
};
./мой-плагин
import ... from ...
const MyPlugin = () => {}
export default MyPlugin
Убедитесь, что вы:
mjs
для tailwind.config.mjs
вместо tailwind.config.js
, если у вас нет "type": "module"
в package.json
проекта.theme
import
edimport myPlugin from './my-plugin';
export default {
mode: 'jit',
darkMode: 'class',
content: [
'./pages/**/*.{js,ts,jsx,tsx}',
'./components/**/*.{js,ts,jsx,tsx}',
],
theme: {
},
plugins: [
myPlugin,
],
};
«Не выполнять функцию плагина import
ed». Если только вы не собираетесь настраивать плагин, верно?
Выполняйте функцию плагина import
ed только в том случае, если она была создана с помощью оболочки plugin.withOptions() или аналогичной.
спасибо @Wongjin, я обновил версию Tailwind до последней, и это сработало.