私が取り組んでいるプロジェクトをWebpack 2に移行しました。これは頭痛の種です。しかし、Webpackのdevサーバを使ってプレビューするプロジェクトを手に入れましたが、私のイメージは表示されません。私が得るすべては、ブラウザのコンソールGET http://localhost:8080/logo.jpg 404 (Not Found)
ローカルに保存された画像を表示するWebpack Dev Serverを取得するには?
とMacOSのコンソールでは、このエラーである:
ERROR in ./js/components/Global/Menu.jsx Module not found: Error: Can't resolve 'logo.jpg' in '/Users/user1/Documents/AAA/app/js/components/Global'
これは私のWebPACKの構成です:
const path = require('path');
module.exports = {
context: __dirname + "/app",
entry: {
app: "./js/app.js",
javascript: "./js/app.js",
html: "./index.html",
},
output: {
//output.path: "[name].js",
path: __dirname + "/dist",
filename: "[name].js"
},
resolve: {
alias: { 'react/lib/ReactMount': 'react-dom/lib/ReactMount' },
extensions: [ '*', '.js', '.jsx', '.json'],
modules:[__dirname, './app/js', 'node_modules'],
},
module: {
rules: [
{
test: /\.jsx?$/,
include: [
path.resolve(__dirname, "app")
],
loaders: ["babel-loader"],
},
{
test: /\.html$/,
loader: ["file-loader?name=[name].[ext]"],
},
{
test: /\.(jpe?g|png|gif|svg)$/i,
include : path.join(__dirname, 'app'),
loader : 'url-loader?limit=30000&name=images/[name].[ext]'
}
],
},
}
移行は複数の画像を破らが、HERESに1しており、私はそれを他のものを修正するためのベースとして使用することができます:
import React, { Component } from 'react';
import { Link } from 'react-router';
import Logo from "logo.jpg";
export default class Menu extends Component {
render() {
return (
<div className='Menu' id='Menu'>
<img src={Logo}></img>
<Link to='/'>Home</Link> <Link to='/about'>Clothing</Link> <Link to='/Cart'>Cart</Link>
<hr />
</div>
);
}
}
url('logo.jpg')
を使用しますか?なぜdevサーバはイメージを見つけて表示しないのですか?
EDIT
はしてみました:
let img = new Image();
img.src = require('logo.jpg');
と<img src={img.src}>
が、それは私に同じエラーを与えます。
'/ Users/user1/Documents/AAA/app/js/components/Global'は画像がどこにあるのですか? –
@realseanpはい。私はなぜそれが見つからないのか分かりません。 – feners
好奇心で、なぜあなたは ''をやっていませんか? – hazardous