Signature_pad: بناء خطأ في Vue + webpack

تم إنشاؤها على ٢٢ أغسطس ٢٠١٨  ·  5تعليقات  ·  مصدر: szimek/signature_pad

مشكلة كعنوان ،
إصدار Vue: 2.5.15
إصدار Webpack: 3.11.0
عند تشغيل npm run build: sandbox ، الخطأ على النحو التالي:

ERROR in 98.145f98ef3cbd11bd2670.js from UglifyJs
Unexpected token: name (Point) [./node_modules/signature_pad/dist/signature_pad.m.js:6,0][98.145f98ef3cbd11bd2670.js:15,6]

  Build failed with errors.

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

@ kevinchung1026 بالأمس حصلت على نفس المشكلة. لقد قمت بعمل جولة وقمت بإصلاحها عن طريق إضافة القاعدة الإضافية إلى حزمة الويب الخاصة بي.

{
        test: /\.js?$/,
        include: [/node_modules\/signature_pad/],
        use: [
          {
            loader: 'babel-loader',
            options: {
              cacheDirectory: true,
              presets: [['env', { 'modules': false, 'targets': { 'node': 4 } }]]
            }
          }
        ],
      },

آمل أن يساعدك ذلك أيضًا

ال 5 كومينتر

يبدو أنك تستخدم إصدارًا قديمًا من UglifyJS ، والذي يتعامل فقط مع كود ES5. الكود في signature_pad.m.js يستخدم ميزات ES6 +. وبالتالي ، إذا كنت تريد تصغيره باستخدام نسختك من UglifyJS ، فأنت بحاجة أولاً إلى تجميعه وصولاً إلى ES5 باستخدام Babel على سبيل المثال. يمكنك أيضًا استخدام signature_pad.umd.js ، والذي تم تجميعه بالفعل في ES5.

@ kevinchung1026 بالأمس حصلت على نفس المشكلة. لقد قمت بعمل جولة وقمت بإصلاحها عن طريق إضافة القاعدة الإضافية إلى حزمة الويب الخاصة بي.

{
        test: /\.js?$/,
        include: [/node_modules\/signature_pad/],
        use: [
          {
            loader: 'babel-loader',
            options: {
              cacheDirectory: true,
              presets: [['env', { 'modules': false, 'targets': { 'node': 4 } }]]
            }
          }
        ],
      },

آمل أن يساعدك ذلك أيضًا

كل شيء على مايرام الآن ، شكرًا لكم جميعًا

وفقًا لـ https://github.com/rollup/rollup/wiki/pkg.module ، كل ما هو محدد في حقل package.json module يجب أن يستخدم فقط بناء جملة الوحدة ES2015 ، لكن من المتوقع أن اتبع صيغة الحد الأدنى من إصدار الحزمة المطلوب من بيئة JS.

لا يمكن حاليًا استخدام هذه الوحدة خارج الصندوق مع حزمة الويب (لأنها تفضل بشكل افتراضي module إلى main ) (انظر https://webpack.js.org/configuration/resolve/ # حل-mainfields) في نفس كانت مثل الوحدات النمطية الأخرى. وبالتالي ، فإنه يتطلب بعض هذه التعديلات المخصصة لنظام البناء (كما هو موضح أعلاه) لإجبار بابل على تحويل هذه الوحدة المعينة من دليل node_modules إلى أهداف المشروع.

أعتقد أن إضافة حقل browser إلى package.json قد يكون حلاً سريعًا.

مرحبا!

أنا أستخدم angular 2 والإصدار القديم من UglifyJS وكان لدي نفس الخطأ مع uglifyJS + signature_pad.

لقد قمت بحل المشكلة بمساعدة الإجابات أعلاه ، مع إضافة قاعدة webpack جديدة

{ test: /\.js?$/, include: [/node_modules\/signature_pad/], use: [ { loader: 'babel-loader' } ], }

واضطررت إلى استخدام محمل babel الأقدم مع webpack 2
package.json:

"devDependencies": {
....
"babel-core": "^ 5.4.7"،
"babel-loader": "^ 5.1.3"
}

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

Emmark picture Emmark  ·  4تعليقات

rmmackay picture rmmackay  ·  7تعليقات

khawye picture khawye  ·  4تعليقات

derUli picture derUli  ·  3تعليقات

50l3r picture 50l3r  ·  3تعليقات