React-dnd: خطأ بابل - استخدام خيار بابل 5 المحذوف

تم إنشاؤها على ١٢ مارس ٢٠١٦  ·  16تعليقات  ·  مصدر: react-dnd/react-dnd

أنا مبتدئ بابل ، أقوم بإعداد مشروع جديد ، وقمت بتثبيت برنامج babel ، وتم تثبيت رد فعل dnd عبر bower و .babelrc الخاص بي لديه السطر التالي
{ "presets": ["es2015", "stage-0", "react"] }
فشل بناء الوحدة النمطية: ReferenceError:

[BABEL] <path>\bower_components\react-dnd\src\index.js: Using removed Babel 5 option: <path>\bower_components\react-dnd\.babelrc.stage - Check out the corresponding stage-x presets http://babeljs.io/docs/plugins/#presets

ما الخطأ الذي افعله

التعليق الأكثر فائدة

alter0331

محمل: 'babe-loader'

يجب أن يكون هذا شيء.

ال 16 كومينتر

مرحبًا @ jagan-veeraraghavan! كيف حالك تضمين رد فعل dnd في Bower؟ يجب أن تفعل ذلك على هذا النحو.

يبدو أنك قد تشير بدلاً من ذلك إلى Bower إلى مستودع Github بأكمله. لن يعمل هذا لأنه يتضمن .babelrc ، ملف تكوين Babel 5 غير متوافق مع إصدار Babel الذي تستخدمه (6). يحذف توزيع npm هذا الملف (راجع للشغل ، نقترح استخدام npm على Bower).

إذا كنت مخطئًا ، فلا تتردد في إعادة فتح المشكلة. أوصي أيضًا بغرفة المرشد لأسئلة الدعم مثل هذه.

مرحبًا ، واجهت مشكلة مماثلة ، باستخدام webpack و babel 6.

ERROR in ./~/dnd-core/lib/index.js
Module build failed: ReferenceError: [BABEL] /node_modules/dnd-core/lib/index.js: 
Using removed Babel 5 option: /node_modules/dnd-core/.babelrc.stage - Check out the corresponding stage-x presets http://babeljs.io/docs/plugins/#presets

ها هي إعداداتي:

package.json

{
  "devDependencies": {
    "babel-core": "^6.3.26",
    "babel-loader": "^6.2.1",
    "babel-preset-es2015": "^6.3.13",
    "babel-preset-react": "^6.3.13",
    "babel-preset-stage-0": "^6.5.0",
    "css-loader": "^0.23.1",
    "extract-text-webpack-plugin": "^1.0.1",
    "file-loader": "^0.8.5",
    "jquery": "^2.2.1",
    "less": "^2.6.1",
    "less-loader": "^2.2.2",
    "style-loader": "^0.13.0",
    "url-loader": "^0.5.7",
    "webpack": "^1.12.9",
    "webpack-dev-server": "^1.14.0"
  },
  "dependencies": {
    "babel-polyfill": "^6.3.14",
    "expose-loader": "^0.7.1",
    "jquery": "^2.1.4",
    "lodash": "^3.10.1",
    "react": "^0.14.7",
    "react-dnd": "^2.1.3",
    "react-dnd-html5-backend": "^2.1.2",
    "react-dom": "^0.14.7",
    "tracking": "^1.1.2"
  }
}

.babelrc

{
  "presets": ["react", "es2015", "stage-0"]
}

حزمة الويب

var webpack = require('webpack');
var ExtractTextPlugin = require("extract-text-webpack-plugin");

module.exports = {
  module: {
    loaders: [
      {
        test: /\.js$/,
        loader: 'babel-loader'
      }
    ]
  }
};

يمكن لأي شخص مساعدتي من فضلك؟

آه ، لقد أصلحته باستبعاد node_modules في webpack.conf: الراقصون:

      {
        exclude: /(node_modules|bower_components)/,
        test: /\.js$/,
        loader: 'babe-loader'
      },

يحل مشكلتي ، شكرا جزيلا لك!

alter0331

محمل: 'babe-loader'

يجب أن يكون هذا شيء.

billyjanitsch هل فكرت في تحديث بابل؟ هل ستكون منفتحًا للعلاقات العامة معها؟

أواجه هذه المشكلة مع Webpack و Babel 6. وبالمثل مثل @ walter0331. أحتاج إلى الاستمرار في تشغيل هذا من خلال برنامج Babel الخاص بي لأننا نجري تصغيرًا مخصصًا لـ node_modules لذا فإن استبعاد node_modules لن يساعدني.

فقط للتوضيح ، أعتقد أن الجميع يعني "babel-loader" بدلاً من "babel-loader".

loader: 'babel-loader'

أحاول الترقية من babel5.x إلى 6.x والحصول على نفس الخطأ. أنا أستخدم رد الفعل والإعادة مع babel 6 و webpack.

يوجد أدناه تكوين حزمة الويب الخاصة بي (جزئي)
وحدة: {
لوادر: [
{test: /.svg$/ ، استبعاد: /.less$/ ، مُحمل: 'svg-inline'} ،
{test: /.coffee$/، loader: 'coffee-loader'} ،
{test: /.jsx؟$/ ، استبعاد: / node_modules / ،
لوادر:
['رد فعل محمل ساخن / حزمة ويب' ، 'محمل بابل؟' + JSON.stringify ({
الإعدادات المسبقة: ['es2015' ، 'stage-0' ، 'رد فعل'] ،
المكونات الإضافية: ['transform-decorators-legacy'،
["تحويل غير متزامن إلى وحدة نمطية" ،
{'module': 'bluebird'، 'method': 'coroutine'}
]]
})
]
} ،
{test: /.less/، loader: 'style-loader! css-loader! less-loader'} ،
{test: /.css/، loader: 'style-loader! css-loader'} ،
{test: /.json$/، loader: 'json-loader'} ،
{test: /.gif$/ ، مُحمل: "url-loader؟ mimetype = image / png"}،
{test: /.woff(2)؟(\؟v=[0-9].[0-9].[0-9])؟$/، loader: "url-loader؟ limit = 10000 & minetype = application / font-woff "}،
{test: /.(ttf|eot|svg)(\؟v=[0-9].[0-9].[0-9])؟$/، loader: "file-loader"} ،
{test: /jquery.js$/، loader: 'expose؟ jQuery'}،
]
} ،

.babelrc

{
"الإعدادات المسبقة": ["es2015" ، "التفاعل" ، "المرحلة 0"] ،
"المكونات الإضافية": ["transform-decorators-legacy"، ["transform-async-to-module-method"، {
"الوحدة": "بلوبيرد" ،
"الطريقة": "كوروتين"
}]]
}

لقد لاحظت شيئًا واحدًا يتمثل في ظهور رسالة الخطأ هذه في الغالب للملفات حيث أقوم باستيراد Promise من "بلوبيرد".

هل أستطيع مساعدتك؟

صدم. هل هناك أي طريقة لتجاهل تكوينات بابل للاعتماديات في وقت البناء ...؟

@ walter0331 شكرا جزيلا لك ، هذه المشكلة لا تجعلني في حيرة من

@ ry928330 بشكل أساسي ، يتم استخدام disposables lib في react-dnd ، و disposables يستخدم إصدار Babel القديم ، Babel 5 (هذه المكتبة لا تتم صيانتها). إذا تم تضمينه في تكوين حزمة الويب ، فسيؤدي ذلك إلى حدوث تعارض لأننا الآن في الإصدار 6 من Babel. لذا فإن الحل الأفضل هنا (على الأقل ما نجح معي) ، ليس بالضرورة استبعاد جميع وحدات node_modules ، ولكن الحل المتعارض فقط.

أضف exclude: /(disposables)/ في تهيئة حزمة الويب الخاصة بمحمل babel ، على سبيل المثال:

{
     test: /\.js$/,
     exclude: /(disposables)/,
     loader: 'babel-loader',
}

هذا هو الحل الصحيح. لا يهم ما هو إصدار Babel disposables يستخدمه تحت الغطاء. المشكلة الحقيقية هي أنك تحاول تجميع node_modules باستخدام Babel. هذا ليس آمنًا دائمًا ولا يجب عليك القيام بذلك إلا إذا كنت تعرف ما تفعله وتشترك فقط في حزم محددة (أو تستخدم إشارة أخرى مثل حقل engines وتجاهل التكوين).

ومع ذلك ، فقد نشرت "إصلاحًا" في [email protected] . ومع ذلك ، إذا جمعت كل شيء في node_modules فإنك تطلب مشاكل.

mix.webpackConfig({ module: { rules: [{ test: /\.jsx?$/, exclude: /(node_modules|bower_components)/, use: { loader: 'babel-loader', options: Config.babel() } }] } })

إنه يعمل ، شكرًا!

أصلحت عن طريق إضافة []
presets: [ ["es2015", { loose: false }] ]

حدث هذا لي بعد أن أضفت عن غير قصد stage: 1 إلى ملفي server/.babelrc .

{
  "presets": ["es2015", "stage-0"],
  "plugins": ["transform-runtime"],
   stage: 1
}

ثابت بإزالة هذا

{
  "presets": ["es2015", "stage-0"],
  "plugins": ["transform-runtime"],
}
هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات