javascript - Webpack 找不到光滑文件的正确路径
问题描述
我开始使用 webpack 打包器,但在滑动滑块方面遇到了一点问题。光滑的字体和 gif 无法正确加载
看起来 webpack 跳过了我的项目所在的主文件夹,并在 d:/node_modules 而不是 d:/main_folder/node_modules 中查找文件我试图通过创建 slick-fix.scss 并设置字体和加载器路径来解决这个问题,但是它不能正常工作
这是错误截图:
slick-fix.scss
$slick-loader-path: "/node_modules/slick-carousel/slick/" !default;
$slick-font-path: "/node_modules/slick-carousel/slick/fonts/" !default;
主文件
@import "slick-fix";
@import "~slick-carousel/slick/slick.scss";
@import "~slick-carousel/slick/slick-theme.scss";
main.js
require('./styles/main.scss');
require('jquery');
import 'slick-carousel/slick/slick';
$('.slider').slick();
const path = require('path');
const HtmlWebPackPlugin = require("html-webpack-plugin");
const webpack = require('webpack');
const $ = require('jquery');
module.exports = {
context: path.resolve(__dirname),
entry: './src',
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'main.js'
},
mode: 'development',
module: {
rules: [
{
test: /\.js$/,
exclude: /node_modules/,
use: {
loader: "babel-loader",
options: {
presets: ['@babel/preset-env']
}
}
},
{
test: /\.html$/,
use: [
{
loader: "html-loader",
options: { minimize: true }
}
]
},
{
test: /\.scss$/,
use: [
'style-loader',
'css-loader',
'sass-loader',
]
},
{
test: /\.(png|jpg|gif)$/i,
use: [
{
loader: 'url-loader',
options: {
limit: 8192,
}
}
]
}
]
},
plugins: [
new HtmlWebPackPlugin({
template: "./src/index.html",
filename: "./index.html"
}),
new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery',
'window.$': 'jquery',
'window.jQuery': 'jquery'
})
]
}
解决方案
您无法从您的 http 服务器访问本地路径。换句话说,您不能直接从硬盘加载文件。它们必须由服务器提供服务。
推荐阅读
- oracle - 从 oracle apex 重置数据库用户帐户密码
- php - 按字符串排序的原则区分大小写
- azure - 为 HTTPS 连接生成的 URL 在 Azure Web App 中以纯 HTTP 的形式出现
- machine-learning - 为什么我们要在 softmax 中使用温度?
- c# - 如何在 C# 类库中创建文件夹
- asp.net-web-api - 如何在 Web API 控制器中读取 ASP.NET_SessionId?
- sql - 如果一个值为空,如何不返回结果?
- python - 将 Python 脚本作为 Azure webjob 运行时导入错误
- ruby-on-rails - 排除电子邮件的身份验证(用户详细信息之一)rails
- android - 在 Android 应用中截取 Unity 场景的屏幕截图