javascript - 为什么在html中放置链接css,scss时给我错误
问题描述
<link rel="stylesheet" type="text/css" href="scss/styles.scss">
<link rel="stylesheet" type="text/css" href="css/styles.css">
/*webpackconfig.js*/
var path = require("path");
var HtmlWebpackPlugin = require("html-webpack-plugin");
const MiniCssExtractPlugin=require("mini-css-extract-plugin");
var OptimizeCssAssetsPlugin = require('optimize-css-assets-webpack-plugin');
module.exports = {
entry: {
app:'./src/index.js'
},
output: {
path: path.join(__dirname, "/dist"),
publicPath:'',
filename: "main.js"
},
mode: 'development',
devServer: {
contentBase: path.join(__dirname, 'dist'),
// compress: true,
writeToDisk: true,
open:true,
port: 58134,
},
module: {
rules: [
{//require("expose-loader?jquery!jquery"),
test: require.resolve("jquery"),
loader: "expose-loader",
options: {
exposes: ["$", "jQuery"],
},
},
{ // /\.css$/,
test: /\.(sa|sc|c)ss$/,
use: [
{
loader: MiniCssExtractPlugin.loader,
options: {
publicPath:'../'
}
},
"css-loader",
'sass-loader',
/*{
loader: "sass-loader",
options: {
implementation: require("sass"),
sassOptions: {
fiber: false,
},
},
}, */
],
},
{
test: /\.(png|svg|jpe?g|gif)$/,
use: [
{
loader: "file-loader",
options: {
name: '[name].[ext]',
outputPath: "images",
}
}
]
},
{
test: /\.(svg|eot|woff|woff2|ttf)$/,
use: [
{
loader: "file-loader",
options: {
name: '[name].[ext]',
outputPath: "fonts",
esModule: false,
}
}
]
},
{
test: /\.html$/,
use:[
{
loader: 'html-loader',
options: {
minimize: true,
},
},
]
},
],
},
plugins: [
new HtmlWebpackPlugin({
filename: "index.html",
template: "./src/index.html",
}),
new HtmlWebpackPlugin({
filename: "toursTourkey.html",
template: "./src/toursTourkey.html",
}),
new HtmlWebpackPlugin({
filename: "toursEygpt.html",
template: "./src/toursEygpt.html",
}),
new HtmlWebpackPlugin({
filename: "registeraccount.html",
template: "./src/registeraccount.html",
}),
new HtmlWebpackPlugin({
filename: "registerinto.html",
template: "./src/registerinto.html",
}),
new MiniCssExtractPlugin({filename:"css/style.css"}),
new OptimizeCssAssetsPlugin({}),
],
};
````````
````````
/*package.json*/
{
"name": "saferny",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"build": "webpack serve"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"css-loader": "^5.2.0",
"file-loader": "^6.2.0",
"html-loader": "^1.3.2",
"html-webpack-plugin": "^5.3.0",
"jquery": "^3.6.0",
"mini-css-extract-plugin": "^1.4.0",
"node-sass": "^5.0.0",
"optimize-css-assets-webpack-plugin": "^5.0.4",
"popper.js": "^1.16.1",
"style-loader": "^2.0.0",
"webpack": "^5.30.0",
"webpack-cli": "^4.6.0",
"webpack-dev-server": "^3.11.2"
},
"dependencies": {
"@fortawesome/fontawesome-free": "^5.15.3",
"@laylazi/bootstrap-rtl-scss": "^4.6.0-1",
"bootstrap": "^4.6.0",
"bootstrap-v4-rtl": "^4.6.0-2",
"expose-loader": "^2.0.0",
"extract-text-webpack-plugin": "^3.0.2",
"jquery.animate": "^1.8.9",
"resolve-url-loader": "^3.1.3",
"sass": "^1.32.12",
"sass-loader": "^11.0.1"
}
}
import './scss/styles.scss';
import './css/style.css';
//import '../node_modules/@laylazi/bootstrap-rtl-scss/scss/bootstrap-rtl.scss';
import 'bootstrap-v4-rtl/dist/css/bootstrap.min.css';
import 'jquery/dist/jquery.min';
import 'popper.js/dist/popper.min';
import 'bootstrap/dist/js/bootstrap.min.js';
import '@fortawesome/fontawesome-free/js/all.min';
import 'jquery.animate';
import 'jquery';
错误中的错误:子编译失败:没有依赖模板:CssDependency CodeGenerationError:没有依赖模板:CssDependency
Compilation.js:2623 [safernyy]/[webpack]/lib/Compilation.js:2623:18
Cache.js:91 [safernyy]/[webpack]/lib/Cache.js:91:34
MemoryCachePlugin.js:45 数组。[safernyy]/[webpack]/lib/cache/MemoryCachePlugin.js:45:13
Cache.js:91 [safernyy]/[webpack]/lib/Cache.js:91:19
Cache.js:75 Cache.get [safernyy]/[webpack]/lib/Cache.js:75:18
CacheFacade.js:117 ItemCacheFacade.get [safernyy]/[webpack]/lib/CacheFacade.js:117:15
Compilation.js:2608 Compilation._codeGenerationModule [safernyy]/[webpack]/lib/Compilation.js:2608:9
Compilation.js:2534 [safernyy]/[webpack]/lib/Compilation.js:2534:10
async.js:3467 arrayIterator [safernyy]/[neo-async]/async.js:3467:9
没有依赖模板:CssDependency
CodeGenerationError:没有依赖模板:CssDependency
Compilation.js:2623 [safernyy]/[webpack]/lib/Compilation.js:2623:18
Cache.js:91 [safernyy]/[webpack]/lib/Cache.js:91:34
MemoryCachePlugin.js:45 数组。[safernyy]/[webpack]/lib/cache/MemoryCachePlugin.js:45:13
Cache.js:91 [safernyy]/[webpack]/lib/Cache.js:91:19
Cache.js:75 Cache.get [safernyy]/[webpack]/lib/Cache.js:75:18
CacheFacade.js:117 ItemCacheFacade.get [safernyy]/[webpack]/lib/CacheFacade.js:117:15
Compilation.js:2608 Compilation._codeGenerationModule [safernyy]/[webpack]/lib/Compilation.js:2608:9
Compilation.js:2534 [safernyy]/[webpack]/lib/Compilation.js:2534:10
async.js:3467 arrayIterator [safernyy]/[neo-async]/async.js:3467:9
child-compiler.js:169 [safernyy]/[html-webpack-plugin]/lib/child-compiler.js:169:18
Compiler.js:534 [safernyy]/[webpack]/lib/Compiler.js:534:11
Compiler.js:1087 [safernyy]/[webpack]/lib/Compiler.js:1087:17
Hook.js:18 Hook.CALL_ASYNC_DELEGATE [as _callAsync] [safernyy]/[tapable]/lib/Hook.js:18:14
Compiler.js:1083 [safernyy]/[webpack]/lib/Compiler.js:1083:33
Compilation.js:2424 [safernyy]/[webpack]/lib/Compilation.js:2424:11
Hook.js:18 Hook.CALL_ASYNC_DELEGATE [as _callAsync] [safernyy]/[tapable]/lib/Hook.js:18:14
Compilation.js:2417 [safernyy]/[webpack]/lib/Compilation.js:2417:38
子编译中的 2 个错误(使用 'stats.children: true' 和 '--stats-children' 了解更多详细信息) webpack 5.30.0 在 5684 毫秒内编译时出现 7 个错误 i 「wdm」:编译失败。
解决方案
MiniCssExtractPlugin 需要在 JavaScript 文件中导入 CSS。如果您将样式表作为 HTML 中的链接,则需要 (遗憾的是未维护) extract-loader
. 使用很重要esModule: false
,否则extract-loader
失败。
{
test: /\.css$/,
use: [
{
loader: "file-loader",
options: {
name: "[name].css",
outputPath: "css",
esModule: false,
}
},
{
loader: "extract-loader",
},
{
loader: "css-loader",
options: {
esModule: false,
}
}
]
},
对我有用extract-loader@5.1.0
,file-loader@6.2.0
和webpack@5.53.0
。
推荐阅读
- ios - 如何检查文本字段不为空和按钮启用
- javascript - 为什么斜线命令 discordjs 不注册
- bash - bash中的递归脚本将照片转换为视频
- android - 如果android禁用文本,如何启用滚动
- xcode - XCode 13.1 在大班上非常慢
- gradle - Gradle upgrade 7.2 > 7.3 打破“此属性的值是最终的,不能进一步更改”(使用 Micronaut 插件?)
- flutter - 将 JSON 从谷歌应用脚本转换为颤振
- sql - 用于将 Excel 文件中的数据插入 SQL Server 表的 SQL Server 存储过程
- python - 查询 cassandra 表以获取最后 N 条记录
- architecture - 实体框架核心迁移和报告的架构(例如粗体报告)