首页 > 解决方案 > 基于 webpacker 的 Rails/Tailwind 项目中的 ES6 与 CommonJS

问题描述

我已经使用 Webpacker 设置了一个新的 Rails 应用程序,并添加了 Tailwind 和 Stimulus 作为依赖项。

当我使用默认生成器创建刺激控制器时,它似乎使用 .es6:

app/javascript/packs 中的所有 javascript 示例似乎也使用 .es6:

import "stylesheets/application";

import Rails from "rails-ujs";
import Turbolinks from "turbolinks";

Rails.start();
Turbolinks.start();

import "controllers";

但是,webpacker 环境文件 tailwind.config.js 等似乎使用了 CommonJS:

// tailwind.config.js

// FIXME: why no es6 here when it's elsewhere?
const { colors } = require('tailwindcss/defaultTheme');

module.exports = {
  theme: {},
  variants: {},
  plugins: []
}

// config/webpack/production.js

process.env.NODE_ENV = process.env.NODE_ENV || 'production'

const environment = require('./environment')

module.exports = environment.toWebpackConfig()

我正在寻找解释为什么这两种口味。我可以(并且应该)标准化其中一个吗?

一些相关的问题:如果我将所有资产切换到 webpacker,是否可以完全删除 app/assets 文件夹,或者是否应该遵循“卸载”过程(删除 gem 等)?

标签: javascriptruby-on-railswebpackwebpackertailwind-css

解决方案


推荐阅读