【发布时间】:2022-02-16 23:44:33
【问题描述】:
在我最新的项目中,我使用 laravel-mix 和内置的 browserSync,并且我已经将 tailwindCss 添加为一个包。
这是webpack.mix.js 文件:
const mix = require("laravel-mix");
require('mix-html-builder');
mix
.setResourceRoot("../")
.setPublicPath("public/assets")
.browserSync({
proxy: 'xxx',
host: 'xxx',
files: "public/*",
open: false,
reloadOnRestart: true
})
.html({
htmlRoot: './resources/html/pages/*.html',
partialRoot: './resources/html/components',
output: '..'
})
.copy("resources/images", "public/assets/images")
.js("resources/js/app.js", "js")
.postCss(
"resources/css/app.css",
"css",
[
require("postcss-import"),
require("tailwindcss/nesting"),
require("tailwindcss"),
require("autoprefixer")
]
)
只要我注释掉require("tailwindcss") 行或.html({}) 块,watch 命令npm run watch 运行良好,如果它们都打开,mix 命令将无限循环运行(在终端)。没有错误,一切都在运行,它不会再停止运行了:D
我的package.json如下:
{
"name": "xxx",
"version": "1.0.0",
"description": "## Deployment",
"main": "index.js",
"scripts": {
"dev": "npm run development",
"development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --config=node_modules/laravel-mix/setup/webpack.config.js",
"watch": "npm run development -- --watch",
"prod": "npm run production",
"production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --config=node_modules/laravel-mix/setup/webpack.config.js"
},
"repository": {
"type": "git",
"url": "xxx"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"@typescript-eslint/eslint-plugin": "^5.11.0",
"@typescript-eslint/parser": "^5.11.0",
"alpinejs": "^3.8.1",
"autoprefixer": "^10.4.2",
"browser-sync": "^2.27.7",
"browser-sync-webpack-plugin": "^2.3.0",
"eslint": "^8.9.0",
"eslint-plugin-import": "^2.25.4",
"eslint-plugin-node": "^11.1.0",
"filename-regex": "^2.0.1",
"laravel-mix": "^6.0.41",
"mix-html-builder": "^0.8.0",
"postcss": "^8.4.6",
"postcss-import": "^14.0.2",
"stylelint": "^14.4.0",
"stylelint-config-standard": "^25.0.0",
"stylelint-order": "^5.0.0",
"tailwindcss": "^3.0.19"
}
}
我想我可能在某处遗漏了一个简单的设置,有人可以指出这可能出错的地方吗?
这种特殊情况的解决方案:
这是我的新 tailwind.config.js 文件,@reid-gannah 发布了他们的答案。起初我的内容配置指向管道的末端,由于项目最初是如何设置的,因此引发了无限装载错误。在更改文件结构(并实现mix-html-builder)之后,我从未意识到 Tailwind 仍然从生成的文件而不是源文件中读取。所以,下面的配置解决了我的问题:
module.exports = {
mode: "jit",
content: [
'./resources/html/pages/**/*.{html,js}',
'./resources/html/components/**/*.{html,js}',
'./resources/html/layouts/**/*.{html,js}',
],
theme: {
container: {
},
extend: {}
},
variants: {
extend: {}
},
};
【问题讨论】:
-
哇,我从来没有发现过这么新鲜的问题。我正在遇到/解决这个完全相同的问题。您的 tailwing.config.js 文件是什么样的?我发现的唯一一件事是搞乱
content路径/全局模式似乎会影响它。我可以在子目录中有 tailwind “watch” *.php 文件,但在与实际 tailwind.config.js 文件相同的目录中没有。