1. Installation
  2. 在 Ember.js 中安装 Tailwind CSS

安装

在 Ember.js 中安装 Tailwind CSS

在 Ember.js 项目中设置 Tailwind CSS。

01

创建你的项目

如果你还没有设置 Ember.js 项目,请先创建一个新项目。最常见的方法是使用 Ember CLI

Terminal
npx ember-cli new my-project --embroider --no-welcomecd my-project
02

安装Tailwind CSS

使用 npm 安装 @tailwindcss/postcss 及其对等依赖项,以及 postcss-loader

Terminal
npm install tailwindcss @tailwindcss/postcss postcss postcss-loader
03

启用 PostCSS 支持

在你的 ember-cli-build.js 文件中,配置 PostCSS 以处理你的 CSS 文件。

ember-cli-build.js
'use strict';const EmberApp = require('ember-cli/lib/broccoli/ember-app');module.exports = function (defaults) {  const app = new EmberApp(defaults, {    // 在这里添加选项  });  const { Webpack } = require('@embroider/webpack');  return require('@embroider/compat').compatBuild(app, Webpack, {    skipBabel: [      {        package: 'qunit',      },    ],    packagerOptions: {      webpackConfig: {        module: {          rules: [            {              test: /\.css$/i,              use: ['postcss-loader'],            },          ],        },      },    },  });};
04

配置 PostCSS 插件

在项目根目录下创建 postcss.config.mjs 文件,并将 @tailwindcss/postcss 插件添加到 PostCSS 配置中。

postcss.config.mjs
export default {  plugins: {    "@tailwindcss/postcss": {},  },}
05

导入 Tailwind CSS

创建一个 ./app/app.css 文件,并添加一个 @import 导入 Tailwind CSS。

app.css
@import "tailwindcss";
06

导入 CSS 文件

在你的 ./app/app.js 文件中导入新创建的 ./app/app.css 文件。

app.js
import Application from '@ember/application';import Resolver from 'ember-resolver';import loadInitializers from 'ember-load-initializers';import config from 'my-project/config/environment';import 'my-project/app.css';export default class App extends Application {  modulePrefix = config.modulePrefix;  podModulePrefix = config.podModulePrefix;  Resolver = Resolver;}loadInitializers(App, config.modulePrefix);
07

启动构建过程

运行 npm run start 启动构建过程。

Terminal
npm run start
08

在你的项目中开始使用 Tailwind

开始使用 Tailwind 的工具类来样式化你的内容。

application.hbs
{{page-title "MyProject"}}<h1 class="text-3xl font-bold underline">  Hello world!</h1>{{outlet}}