Rails + React + Webpack加载图像

Dileet

我正在使用Rails + Webpack将bundle.js文件编译到Rails资产管道中。我在/ app / assets / images中放置了一个名为“ main.png”的图像。如何在捆绑的React组件中访问此图像?

我正在使用shakacode在rails gem上的反应。https://github.com/shakacode/react_on_rails

然后,我尝试使用webpack处理成功完成的图像,并将该图像放置在bundle.js文件旁边。我仍然在图像上看到404。

我知道我已经接近了,只是将rails资产设置为publicPath错误。当前设置提供了一个不兼容rails的localhost:3000 / webpack / main.png。

这是我的webpack文件:

const webpack = require('webpack');
const path = require('path');

const devBuild = process.env.NODE_ENV !== 'production';
const nodeEnv = devBuild ? 'development' : 'production';

config = {
  entry: [
    'es5-shim/es5-shim',
    'es5-shim/es5-sham',
    'babel-polyfill',
    './app/Register.js',
  ],

  output: {
    filename: 'webpack-bundle.js',
    path: '../app/assets/webpack',
    publicPath: '/webpack/'
  },

  resolve: {
    extensions: ['', '.js', '.jsx'],
    alias: {
      react: path.resolve('./node_modules/react'),
      'react-dom': path.resolve('./node_modules/react-dom'),
    },
  },
  plugins: [
    new webpack.DefinePlugin({
      'process.env': {
        NODE_ENV: JSON.stringify(nodeEnv),
      },
    }),
  ],
  module: {
    loaders: [
      {
        test: require.resolve('react'),
        loader: 'imports?shim=es5-shim/es5-shim&sham=es5-shim/es5-sham',
      },
      {
        test: /\.jsx?$/, loader: 'babel-loader',
        exclude: /node_modules/,
      },
      {
        test: /\.(png|svg)$/i,
        loaders: [
        'file?hash=sha512&digest=hex&name=[hash].[ext]',
        'image-webpack?bypassOnDebug&interlaced=false'
        ]
      }
    ],
  },
};

module.exports = config;

if (devBuild) {
  console.log('Webpack dev build for Rails'); // eslint-disable-line no-console
  module.exports.devtool = 'eval-source-map';
} else {
  config.plugins.push(
    new webpack.optimize.DedupePlugin()
  );
  console.log('Webpack production build for Rails'); // eslint-disable-line no-console
}
拉斐尔·安吉琳(Rafael Angeline)

正确定义加载程序后require,例如,您可以使用函数加载映像例如,在您的进口附近添加:

const myImg = require('./assets/methods.png');

然后,在组件的render方法中:

<img src={myImg} />

那应该工作...

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Rails:从模型加载图像

来自分类Dev

React&Webpack:加载图像并将其显示为背景图像

来自分类Dev

无法将图像加载到Konva-React中,出现TypeError:react-konva webpack ...图像不是构造函数

来自分类Dev

无法使用带有 webpack 的 [email protected] 组件加载静态图像

来自分类Dev

在 React & Django 中使用 webpack 的 URL 加载器时找不到图像文件

来自分类常见问题

动态添加图像React Webpack

来自分类Dev

使用react动态加载图像

来自分类Dev

Webpack模块构建失败的意外令牌(rails react build)

来自分类Dev

没有gem的React + Redux + Rails和webpack

来自分类Dev

带有React,Rails和回形针的AJAX图像上传

来自分类常见问题

Rails 4图像未在heroku上加载

来自分类Dev

Rails Javascript,图像未正确链接或加载

来自分类Dev

Webpack:图像无法加载

来自分类Dev

预加载React Webpack捆绑包的动画

来自分类Dev

React Router Webpack异步块加载

来自分类Dev

Webpack捆绑了PNG图像,但React无法显示

来自分类Dev

无法使用Webpack + React渲染大图像?

来自分类Dev

Rails + React应用程序页面需要重新加载才能渲染React

来自分类Dev

react.js图像未加载

来自分类Dev

React Leaflet-标记图像无法加载

来自分类Dev

React Leaflet-标记图像无法加载

来自分类Dev

[React Native]图像无法在Android中加载

来自分类Dev

React Native 预加载本地图像

来自分类Dev

React - 使用 props 加载动态图像

来自分类Dev

Webpack无法加载png图像

来自分类Dev

Aurelia Webpack 图像未加载

来自分类Dev

React和Rails入门

来自分类Dev

React + Rails路由配置

来自分类Dev

React和Rails入门