Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.02.2017, 18:08
Аспирант
Отправить личное сообщение для alexandr2006 Посмотреть профиль Найти все сообщения от alexandr2006
 
Регистрация: 30.01.2013
Сообщений: 54

webpack 1.12.13 ругается Cannot resolve 'file' or 'directory' ./img/readme2.png
При сборке webpack 1.12.13 ругается на подключенные в css картинки и шрифты, например:

Cannot resolve 'file' or 'directory' ./img/readme2.png


var path = require('path')
var webpack = require('webpack')
var NpmInstallPlugin = require('npm-install-webpack-plugin')
var autoprefixer = require('autoprefixer');
var precss = require('precss');
var ExtractTextPlugin = require ('extract-text-webpack-plugin');

module.exports = {
  devtool: 'cheap-module-eval-source-map',
  entry: [
    'webpack-hot-middleware/client',
    'babel-polyfill',
    './src/index'
  ],
  output: {
    path: path.join(__dirname, 'dist'),
    filename: 'bundle.js',
    publicPath: '/static/'
  },
  plugins: [
    new webpack.optimize.OccurenceOrderPlugin(),
    new webpack.HotModuleReplacementPlugin(),
    new NpmInstallPlugin(),
    new ExtractTextPlugin('bundle.css')
  ],
  module: {
    preLoaders: [
      {
        test: /\.js$/,
        loaders: ['eslint'],
        include: [
          path.resolve(__dirname, "src"),
        ],
      }
    ],
    loaders: [
      {
        loaders: ['react-hot', 'babel-loader'],
        include: [
          path.resolve(__dirname, "src"),
        ],
        test: /\.js$/,
        plugins: ['transform-runtime'],
      },
      {
        test:   /\.css$/,
        //loader: "style-loader!css-loader!postcss-loader"
        loader: ExtractTextPlugin.extract('style-loader', 'css-loader', 'postcss-loader')
      },
      { 
            test: /\.(png|jpg|svg|ttf|eot|woff|woff2)$/, 
            include: /\/node_modules\//,
            loader: "file?name=[1].[ext]&regExp=node_modules/(.*)"
      },
      { 
            test: /\.(png|jpg|svg|ttf|eot|woff|woff2)$/, 
            exclude: /\/node_modules\//,
            loader: "file?name=[path][name].[ext]"
      }
    ]
  },
  postcss: function () {
    return [autoprefixer, precss];
  }
}


Структура папок
node_modules
src
 |--styles
      |--oil.css
 |--img
      |--картинки
webpack.config.js


Картинки в css подключались так ../img/bla-bla.jpg

Почитал, оказывается в ноде все не так нак надо и надо ~ писать.

Переделал, стало '~/src/img/bla-bla.jpg' Теперь при компиляции webpack не ругается, но в консоли браузера ошибка: Cannot GET /src/img/bla-bla.jpg

Помогите побороть webpack
Ответить с цитированием
  #2 (permalink)  
Старый 09.02.2017, 12:20
Аватар для Coriolan161
Профессор
Отправить личное сообщение для Coriolan161 Посмотреть профиль Найти все сообщения от Coriolan161
 
Регистрация: 21.11.2015
Сообщений: 440

alexandr2006,
разве дело не в publicPath?
Ответить с цитированием
  #3 (permalink)  
Старый 09.02.2017, 13:37
Аспирант
Отправить личное сообщение для alexandr2006 Посмотреть профиль Найти все сообщения от alexandr2006
 
Регистрация: 30.01.2013
Сообщений: 54

Сообщение от Coriolan161 Посмотреть сообщение
alexandr2006,
разве дело не в publicPath?
Я не знаю. А что с ней не так?
Ответить с цитированием
  #4 (permalink)  
Старый 09.02.2017, 15:08
Аватар для Coriolan161
Профессор
Отправить личное сообщение для Coriolan161 Посмотреть профиль Найти все сообщения от Coriolan161
 
Регистрация: 21.11.2015
Сообщений: 440

alexandr2006,
Вперед
https://github.com/webpack/docs/wiki...tputpublicpath
Ответить с цитированием
  #5 (permalink)  
Старый 11.02.2017, 22:09
Аспирант
Отправить личное сообщение для alexandr2006 Посмотреть профиль Найти все сообщения от alexandr2006
 
Регистрация: 30.01.2013
Сообщений: 54

Сообщение от Coriolan161 Посмотреть сообщение
alexandr2006,
Вперед
https://github.com/webpack/docs/wiki...tputpublicpath
Почитал на хабре https://habrahabr.ru/company/plarium/blog/309230/ - по идее должно работать


Установил https://www.npmjs.com/package/file-loader,

добавил var url = require("file-loader");

поменял строку на loader: "file-loader?name=[path][name].[ext]"

Все равно почему-то не работает((
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск