configuration.module มีคุณสมบัติที่ไม่รู้จัก 'loaders'


140

ผลลัพธ์ของข้อผิดพลาดของฉัน:

วัตถุการกำหนดค่าไม่ถูกต้อง Webpack เริ่มต้นโดยใช้ออบเจ็กต์การกำหนดค่าที่ไม่ตรงกับสคีมา API - configuration.module มีคุณสมบัติที่ไม่รู้จัก 'loaders' คุณสมบัติเหล่านี้ถูกต้อง: object {exprContextCritical ?, exprContextRecursive ?, exprContextRegExp ?, exprContextRequest ?, noParse ?, rules ?, defaultRules ?, UnknownContextCritical ?, UnknownContextRecursive?, UnknownContextRegExp ?, unknownContextRequest? ?, tightExportPresence?, tightThisContextOnImports? } -> ตัวเลือกที่มีผลต่อโมดูลปกติ ( NormalModuleFactory)

webpack.config.js ของฉัน:

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

var BUILD_DIR = path.resolve(__dirname, 'src/client/public');
var APP_DIR = path.resolve(__dirname, 'src/client/app');

var config = {
  entry: APP_DIR + '/index.jsx',
  module : {
    loaders : [
      {
        test : /\.jsx?/,
        include : APP_DIR,
        loader : 'babel-loader'
      }
    ]
  },
  output: {
    path: BUILD_DIR,
    filename: 'bundle.js'
  }

};


module.exports = config;

เวอร์ชัน webpack ของฉัน:

webpack@4.1.1

คำตอบ:


338

คุณควรเปลี่ยนloadersเป็นrulesใน webpack 4:

เปลี่ยนแปลง:

loaders 

ถึง:

rules

แหล่งที่มา: รถตัก

ตัวอย่าง:

module.exports = {
  module: {
    rules: [
      { test: /\.css$/, use: 'css-loader' },
      { test: /\.ts$/, use: 'ts-loader' }
    ]
  }
};

1
พิมพ์ผิดหรือเปล่า มันควรจะrulesอยู่ใน webpack 4
Sin

คุณควรใช้กฎใน
webpack

3
เปลี่ยนรถตักเป็นกฎใน webpack 4 ... ในกรณีที่จำเป็นต้องพูดอีกครั้ง: /
Helmut Granda

2
คุณควรอธิบายในคำตอบของคุณว่าสาเหตุของการเปลี่ยนแปลงคือ
webpack


2

คำตอบที่ให้ไว้ข้างต้นใช้งานได้ แต่เราสามารถแก้ไขปัญหานี้ได้โดยเปลี่ยนเวอร์ชัน webpack และ webpack-dev-server เป็น

"webpack": "3.8.1",
"webpack-dev-server": "2.9.4"

นอกจากนี้ยังสามารถแก้ปัญหา หวังว่ามันจะช่วยได้


ฉันให้ uptick คุณ ปัญหาเดียวคือผู้คนต้องการอัปเดตเวอร์ชันของเฟรมเวิร์กและเครื่องมือเพื่อรับฟีเจอร์ใหม่ ๆ ไม่ใช่ย้อนกลับไปใช้เวอร์ชันเก่าเพียงเพื่อให้แน่ใจว่าพวกเขาไม่ต้องเปลี่ยนไฟล์กำหนดค่า บางทีการเปลี่ยนไฟล์ config เพื่อให้สอดคล้องกับวิธีการทำงานใหม่ของเครื่องมือก็ไม่เลว เว้นแต่จะเป็นไปไม่ได้
Eniola

ขอบคุณ @Eniola ใช่คุณพูดถูก ดังที่ฉันได้กล่าวถึงคำตอบ S.M_Emamian นั้นถูกต้อง แต่คำตอบของฉันจะใช้ได้ผลหากมีคนตกลงที่จะทำงาน webpack เวอร์ชันเก่ากว่า
Anshul


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.