Signature_pad: Build-Fehler mit Vue+webpack

Erstellt am 22. Aug. 2018  ·  5Kommentare  ·  Quelle: szimek/signature_pad

Problem als Titel,
Vue-Version: 2.5.15
Webpack-Version: 3.11.0
Wenn npm build:sandbox ausgeführt wird , Fehler wie folgt:

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.

Hilfreichster Kommentar

@kevinchung1026 Gestern hatte ich das gleiche Problem. Ich habe einen Walkover gemacht und es behoben, indem ich die zusätzliche Regel zu meinem Webpack hinzugefügt habe.

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

Hoffe es hilft dir auch 😄

Alle 5 Kommentare

Es sieht so aus, als ob Sie eine alte Version von UglifyJS verwenden, die nur ES5-Code verarbeitet. Code in signature_pad.m.js verwendet ES6+-Funktionen. Wenn Sie es also mit Ihrer Version von UglifyJS minimieren möchten, müssen Sie es zuerst mit Babel auf ES5 kompilieren. Sie können auch signature_pad.umd.js , das bereits in ES5 kompiliert ist.

@kevinchung1026 Gestern hatte ich das gleiche Problem. Ich habe einen Walkover gemacht und es behoben, indem ich die zusätzliche Regel zu meinem Webpack hinzugefügt habe.

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

Hoffe es hilft dir auch 😄

jetzt ist es ok, thx all

Laut https://github.com/rollup/rollup/wiki/pkg.module sollte alles, was im Feld module der Datei package.json angegeben ist, nur die ES2015-Modulsyntax verwenden, aber der Rest des Codes wird erwartet Folgen Sie der Syntax der minimal erforderlichen Version der JS-Umgebung des Pakets.

Derzeit ist es nicht möglich, dieses Modul out of the box mit Webpack zu verwenden (weil es standardmäßig module gegenüber main bevorzugt) (siehe https://webpack.js.org/configuration/resolve/ #resolve-mainfields) im selben war wie andere Module. Daher sind einige dieser benutzerdefinierten Anpassungen am Gebäudesystem (wie oben erwähnt) erforderlich, um babel zu zwingen, dieses spezielle Modul aus dem Verzeichnis transpilieren .

Ich denke, das Hinzufügen des Felds browser in package.json könnte eine schnelle Problemumgehung sein.

Hallo!

Ich verwende Angular 2 und eine alte Version von UglifyJS und hatte den gleichen FEHLER mit uglifyJS + Signature_pad.

Ich habe das Problem mit Hilfe der obigen Antworten gelöst und eine neue Webpack-Regel hinzugefügt

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

UND ich musste einen älteren Babel Loader mit Webpack 2 verwenden
package.json:

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

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen