Я не могу заставить работать веб-пакет правильно - PullRequest
0 голосов
/ 29 мая 2018

и я получил это сообщение, пожалуйста, помогите ... заранее спасибо....

    Invalid configuration object. Webpack has been initialised using a configuration object that does not match the API schema.
 - configuration.module has an unknown property 'loaders'. These properties are valid:
   object { exprContextCritical?, exprContextRecursive?, exprContextRegExp?, exprContextRequest?, noParse?, rules?, defaultRules?, unknownContextCritical?, unknownContextRecursive?, unknownContextRegExp?, unknownContextRequest?, unsafeCache?, wrappedContextCritical?, wrappedContextRecursive?, wrappedContextRegExp?, strictExportPresence?, strictThisContextOnImports? }
   -> Options affecting the normal modules (`NormalModuleFactory`).
 - configuration.resolve.extensions[0] should not be empty.
   -> A non-empty string

моя конфигурация в веб-пакете такая, я все еще пытаюсь выяснить, почему это происходит ... мой файл такой: https://github.com/NodeioLabs/Theatherflix/blob/master/webpack.config.js

Ответы [ 3 ]

0 голосов
/ 05 июня 2018

Из строк 7-14 и 37-46 вы замечаете это:

  resolve: {
    root: __dirname,
    alias: {
      Main: 'app/components/Main.jsx',
      Nav: 'app/components/Nav.jsx'
    },
    extensions: ['', '.js', '.jsx']
  },

и

  resolve: {
    root: __dirname,
    alias: {
      Main: 'app/components/Main.jsx',
      Nav: 'app/components/Nav.jsx',
      ListM: 'app/components/ListM.jsx',
      About: 'app/components/About.jsx'
    },
    extensions: ['', '.js', '.jsx']
  },

Что не принимается из веб-пакета, я предлагаю вам использовать рекомендуемыеиз webpack resol.extensions

resol.extensions

array

Автоматическое разрешение определенных расширений.По умолчанию:

extensions: [".js", ".json"]

И здесь:

    root: __dirname,
    alias: {
      Main: 'app/components/Main.jsx',
      Nav: 'app/components/Nav.jsx',
      ListM: 'app/components/ListM.jsx',
      About: 'app/components/About.jsx'
    },

вместо этого используйте этот формат, как предложено webpack # resol-alias

alias: {
  Main : path.resolve(__dirname, 'app/components/Main'),
  Nav: path.resolve(__dirname, 'app/components/Nav'),
  ListM: path.resolve(__dirname, 'app/components/ListM'),
  About: path.resolve(__dirname, 'app/components/About')
},

Надеюсь, это поможет.

0 голосов
/ 20 июня 2018

Я боролся с ответом ... Мне пришлось много исследовать.Но я нашел ответ или я нашел выход для таких ситуаций:

Во-первых: создайте файл .babel-rc

    /* 
    ./.babelrc
*/  
{
    "presets":[
        "es2015", "react"
    ]
}

хорошо, рассмотрите также этот пакет json файл:

{
  "name": "theatherflix",
  "description": "",
  "main": "server.js",
  "scripts": {
    "webpack": "webpack --progress",
    "test": "echo \"Error: no test specified\" && exit 1",
    "build": "webpack --config webpack.config.js"
  },
  "author": "Nodeio Labs",
  "license": "GPL-3",
  "dependencies": {
    "@babel/preset-react": "^7.0.0-beta.51",
    "axios": "^0.18.0",
    "babel": "^6.23.0",
    "docker": "^1.0.0",
    "express": "^4.13.4",
    "extract-text-webpack-plugin": "^3.0.2",
    "find-process": "^1.1.0",
    "loader": "^2.1.1",
    "material-ui": "^0.20.1",
    "modules": "^0.4.0",
    "path": "^0.12.7",
    "react": "^0.14.7",
    "react-dom": "^0.14.7",
    "react-router": "^2.0.0",
    "redux": "^4.0.0",
    "redux-thunk": "^2.2.0",
    "ts-loader": "^4.4.1",
    "uuid": "^3.2.1",
    "webpack-dev-server": "^3.1.4"
  },
  "devDependencies": {
    "@babel/core": "^7.0.0-beta.51",
    "@babel/preset-env": "^7.0.0-beta.51",
    "babel-cli": "^6.26.0",
    "babel-core": "^6.26.3",
    "babel-loader": "^7.1.4",
    "babel-preset-es2015": "^6.24.1",
    "babel-preset-react": "^6.24.1",
    "babel-preset-stage-0": "^6.5.0",
    "fuse-box": "^3.2.2",
    "gulp-babel": "^7.0.1",
    "jsx-loader": "^0.13.2",
    "node-sass": "^4.9.0",
    "typescript": "^2.9.2",
    "webpack": "^4.12.0",
    "webpack-cli": "^3.0.2"
  }
}

* Используйте все, что вам нужно в этом пакете модулей.

Затем я исправляю несколько строк в своем веб-пакете:

/*
    ./webpack.config.js
*/
const path = require('path');
module.exports = {
  mode: "none", 
  entry: './app/app.jsx',
  output: {
    path: path.resolve('public'),
    filename: 'bundle.js'
  },
  module: {
    rules: [{
        test: /\.css$/,
        use: [{
            loader: "style-loader"
          },
          {
            loader: "css-loader"
          }
        ]
      },
      {
        test: /\.js$/,
        exclude: /node_modules/,
        use: "babel-loader"
      }, {
        test: /\.jsx?$/,
        exclude: /node_modules/,
        use: "babel-loader"
      }
    ]
  }
}

И это моеapp.jsx:

var React = require('react');
var ReactDOM = require('react-dom');
var {Route, Router, IndexRoute, Main, About, MovieList, hashHistory} = require('react-router');
var Main = require('./components/Main.jsx');
var MovieList = require('./components/MovieList/MovieList.jsx');
var About = require('./components/About/About.jsx');
//import './app.scss';

ReactDOM.render(
  <Router history={hashHistory}>
    <Route path="/" component={Main}>
    <Route path="about" component={About}/>
          <IndexRoute component={MovieList}/>
    </Route>
  </Router>,
  document.getElementById('app')
);

Я надеюсь, что это может быть полезно для других.

0 голосов
/ 30 мая 2018

Давайте посмотрим на сообщения независимо друг от друга:

  1. configuration.module has an unknown property 'loaders'.

    Указывает, что в данный момент у вас есть:

    {
      module: {
        loaders: {}
      }
    }
    

    Итак, измените loadersбыть rules (согласно документации веб-пакета ):

    {
      module: {
        rules: {}
      }
    }
    
  2. configuration.resolve.extensions[0] should not be empty.

    Указывает, что у вас есть:

    {
      resolve: {
        extensions: ['']
      }
    }
    

    Итак, удалите пустую строку из extensions:

    {
      resolve: {
        extensions: []
      }
    }
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...