在开发outlook加载项时。
我会添加顺风,这是我跟踪的the tuto
在package.json中,我得到了这些脚本
"scripts": {
"build": "webpack --mode production",
"build:dev": "webpack --mode development",
"dev-server": "webpack serve --mode development",
...
},
然后在webpack.config.js中
const config = {
devtool: "source-map",
entry: {
polyfill: ["core-js/stable", "regenerator-runtime/runtime"],
vendor: ["react", "react-dom", "core-js", "@fluentui/react"],
taskpane: ["react-hot-loader/patch", "./src/taskpane/index.tsx", "./src/taskpane/taskpane.html"],
commands: "./src/commands/commands.ts",
},
output: {
clean: true,
},
resolve: {
extensions: [".ts", ".tsx", ".html", ".js"],
},
module: {
rules: [
{
test: /\.css$/i,
include: '/src',
use: ['style-loader', 'css-loader', 'postcss-loader'],
},
{
test: /\.ts$/,
exclude: /node_modules/,
use: {
loader: "babel-loader",
options: {
presets: ["@babel/preset-typescript"],
},
},
},
{
test: /\.tsx?$/,
exclude: /node_modules/,
use: ["react-hot-loader/webpack", "ts-loader"],
},
{
test: /\.html$/,
exclude: /node_modules/,
use: "html-loader",
},
{
test: /\.(png|jpg|jpeg|gif|ico)$/,
type: "asset/resource",
generator: {
filename: "assets/[name][ext][query]",
},
},
],
},
plugins: [
...
}),
new HtmlWebpackPlugin({
filename: "taskpane.html",
template: "./src/taskpane/taskpane.html",
chunks: ["taskpane", "vendor", "polyfills"],
}),
new HtmlWebpackPlugin({
filename: "commands.html",
template: "./src/commands/commands.html",
chunks: ["commands"],
}),
new webpack.ProvidePlugin({
Promise: ["es6-promise", "Promise"],
}),
],
devServer: {
hot: true,
headers: {
"Access-Control-Allow-Origin": "*",
},
server: {
type: "https",
options: env.WEBPACK_BUILD || options.https !== undefined ? options.https : await getHttpsOptions(),
},
port: process.env.npm_package_config_dev_server_port || 3000,
},
};
在postcss.config.js中:
const tailwindcss = require('tailwindcss');
module.exports = {
plugins: [
'postcss-preset-env',
tailwindcss
],
};
最后是tailwind.config.js
/**@type {import('tailwindcss ').Config} */
module.exports = {
content: ['./dist/*.html'],
theme: {
extend: {},
},
plugins: [],
};
当我尝试应用一个tailwind css类时,什么也没有发生,当我在devTools中检查tailwind css颜色标记是否被导入时,我也没有看到任何东西。
我在index.css中导入顺风组件
@tailwind base;
@tailwind components;
@tailwind utilities;
然后webpack在taskpane.html中为我生成这些导入
<link href="bd3fc3e614edb4896e6a.css" rel="stylesheet" />
<script defer="defer" src="vendor.js"></script>
<script defer="defer" src="taskpane.js"></script>
当我使用npm run dev-server
运行我的应用程序时,我没有看到类被应用到html。
我认为顺风是不是导入他们在css文件
以下是我的项目文件夹配置:
如果您想查看其他文件内容,请不要犹豫。
3条答案
按热度按时间inb24sb21#
在
tailwind.config.js
中,content
应该指向来自src
文件夹的路径。这是因为,正如official docs中所述,Tailwind CSS的工作方式是扫描所有源文件(HTML文件,JavaScript组件和任何其他模板)的类名,生成相应的样式,然后将它们写入静态CSS文件。
Webpack在一个进程中构建样式和JS文件,然后将这些文件写入
dist
文件夹。指向tailwind.config.js
中的dist
文件夹将不起作用,因为在构建时,dist
文件夹尚未更新。假设你会在React文件(
ts
,tsx
)中使用Tailwind类,但也会在html
文件中使用Tailwind类,下面的配置应该可以工作:index.tsx
应该是:Webpack配置:
您所遵循的教程指向
dist
文件夹,因为它包含index.html
文件-实际上是手动创建的文件,不是构建过程的一部分-它是手动更新的。本教程仅适用于用
index.html
编写的Tailwind类。由于您使用的是
HtmlWebpackPlugin
,因此通过template
选项,源html
文件将包含在构建过程中,然后写入dist
文件夹中。实际上,你可以检查-在该教程之后创建的设置中,并且如果没有使用在构建之前完全清理dist文件夹的插件-当第二次运行构建时,Tailwind会在上一次构建的文件中找到一些类,并相应地生成css-如此评论所述。
更全面的教程是:
https://dev.to/ivadyhabimana/setup-tailwind-css-in-a-react-project-configured-from-scratch-a-step-by-step-guide-2jc8
idfiyjo82#
根据您发布的教程,您需要在您的dist/index.html中执行此操作
style.css需要导入index.js文件中。
只是指出什么是对教程,不确定如果教程是有效的,虽然。
2hh7jdfx3#
tailwind.config.js
应该是单位:
app.js
其他一切似乎都是正确的
确保你安装了“postcss”,“postcss-loader”和“postcss-preset-env”