【发布时间】:2017-08-11 11:41:09
【问题描述】:
我在使用 webpack 时遇到问题,并在 webpack 开发服务器上响应静态图像。
这是我当前的文件夹结构
如你所见,我有一个资产文件夹,里面有我所有的图片 这是我的 webpack 入口和输出配置
客户入口是我的反应项目的来源 CLIENT_ENTRY: path.join(process.cwd(), 'src/client/index.jsx')
现在这是我在 BASH 中的输出,当 webpack 完成了它的工作时
这是我尝试从项目根目录中的资产文件夹加载图像的地方
预计只有导入工作女巫。
我尝试在 webpack 中更改输出和公共路径 路径:path.resolve(__dirname, 'dist'), 公共路径:'/',
路径:path.resolve(__dirname, 'dist/assets'), publicPath: '/assets/',
路径:path.resolve(__dirname, 'dist'), publicPath: '/assets',
路径:path.resolve(__dirname, 'dist'), publicPath: '/assets/',
等等..等等..
如果有人可以帮助我,那就太好了
【问题讨论】:
-
我忘了在我的 src/server/server.js 中使用 express 并提供静态内容,如下所示 // 为资产目录中的应用程序提供静态内容并构建目录 app.use (express.static('build')); app.use(express.static('assets'));
-
它们是否在输出的 Main.js 的相对路径中?否则显然行不通。如果您测试 .jpg,您可以将它们放在您的源代码中并使用 Webpack 构建。我这样做:
{ test: /\.(ttf|otf|eot|svg)(\?v=[0-9]\.[0-9]\.[0-9])?|(jpg|gif)$/, loader: 'file-loader?name=./static/fonts/[name].[ext]' } -
是的,它们就是这样
-
所以像 const file = { test: /\.(woff2?|jpe?g|png|gif|ico)$/,使用:'file-loader?name=./assets/图像/[名称].[ext]' };
-
类似的东西,是的。试一试并更新您的 javascript 以包含输出图像的相对路径并告诉我。
标签: reactjs webpack webpack-dev-server