Ember / PostCSS / Tailwind - 在哪里解析指令?
Ember / PostCSS / Tailwind - where do directives get parsed?
我组装了 ember、postcss 和 tailwind 的香草组合,但对于我的生活,我无法理解为什么这段代码有效。
对于带有 postcss 和 tailwind 的通用 ember 应用:
ember new poc-tailwind --yarn
ember install ember-cli-postcss
yarn add tailwindcs
然后在ember-cli-build中配置postcss:
module.exports = function(defaults) {
let app = new EmberApp(defaults, {
postcssOptions: {
compile: {
plugins: [
require('tailwindcss')
]
}
}
});
return app.toTree();
};
然后终于在 app.css:
@tailwind base;
@tailwind components;
@tailwind utilities;
同样,奇怪的是这个有效。
谁能解释为什么这些指令有效?他们是如何粘在一起的?
好的,所有 "magic" 都发生在这里:
基本上,此文件使用 ember-cli 挂钩来自定义构建过程,以便 postcss 使用您指定的插件 (tailwindcs) 预处理您的 CSS 文件。
此文件中的代码还允许进行后处理和过滤,尽管您没有使用这些功能。
指令在构建时由 postcss 解析和执行,纯 CSS 传递到您的浏览器。
你不需要了解这个文件中发生的一切,只需要知道代码就在那里并且是开源的,以备不时之需。
与 parcel 和 webpack 等模块打包器不同,ember-cli 和 broccoli 依赖 JavaScript 代码来完成大部分配置,而不是配置文件。结合约定优于配置,这可以使 ember-cli 感觉像 "magic".
我组装了 ember、postcss 和 tailwind 的香草组合,但对于我的生活,我无法理解为什么这段代码有效。
对于带有 postcss 和 tailwind 的通用 ember 应用:
ember new poc-tailwind --yarn
ember install ember-cli-postcss
yarn add tailwindcs
然后在ember-cli-build中配置postcss:
module.exports = function(defaults) {
let app = new EmberApp(defaults, {
postcssOptions: {
compile: {
plugins: [
require('tailwindcss')
]
}
}
});
return app.toTree();
};
然后终于在 app.css:
@tailwind base;
@tailwind components;
@tailwind utilities;
同样,奇怪的是这个有效。
谁能解释为什么这些指令有效?他们是如何粘在一起的?
好的,所有 "magic" 都发生在这里:
基本上,此文件使用 ember-cli 挂钩来自定义构建过程,以便 postcss 使用您指定的插件 (tailwindcs) 预处理您的 CSS 文件。
此文件中的代码还允许进行后处理和过滤,尽管您没有使用这些功能。
指令在构建时由 postcss 解析和执行,纯 CSS 传递到您的浏览器。
你不需要了解这个文件中发生的一切,只需要知道代码就在那里并且是开源的,以备不时之需。
与 parcel 和 webpack 等模块打包器不同,ember-cli 和 broccoli 依赖 JavaScript 代码来完成大部分配置,而不是配置文件。结合约定优于配置,这可以使 ember-cli 感觉像 "magic".