2016-04-08 12 views
0

Beim Bündeln von js-Dateien mit webpack wird auch die Bibliothek jplayer in der Datei bundle.js gebündelt. Aber wenn die Webseite im Browser geladen wird, zeigt dies einen Fehler in der Konsole cannot set property jplayer of undefined. Ich bin verwirrt über den Fehler, der auf Webpack zurückzuführen ist, oder gibt es einen Fehler in der jplayer-Bibliothek. Hilfe ist super ultra sehr geschätzt.webpack jplayer: Eigenschaft jplayer nicht definiert

jplayer.js

(function (root, factory) { 
if (typeof define === 'function' && define.amd) { 
    // AMD. Register as an anonymous module. 
    define(['jquery'], factory); // jQuery Switch 
    // define(['zepto'], factory); // Zepto Switch 
} else if (typeof exports === 'object') { 
    // Node/CommonJS 
    factory(require('jquery')); // jQuery Switch 
    //factory(require('zepto')); // Zepto Switch 
} else { 
    // Browser globals 
    if(root.jQuery) { // Use jQuery if available 
     factory(root.jQuery); 
    } else { // Otherwise, use Zepto 
     factory(root.Zepto); 
    } 
} 
}(this, function ($, undefined) { 

// Adapted from jquery.ui.widget.js (1.8.7): $.widget.bridge - Tweaked $.data(this,XYZ) to $(this).data(XYZ) for Zepto 
$.fn.jPlayer = function(options) { //cannot set property jplayer error is mapped here 
    var name = "jPlayer"; 
    var isMethodCall = typeof options === "string", 
     args = Array.prototype.slice.call(arguments, 1), 
     returnValue = this; 

    // allow multiple hashes to be passed on init 
    options = !isMethodCall && args.length ? 
     $.extend.apply(null, [ true, options ].concat(args)) : 
     options; 

Antwort

0

Meent ich die gleiche Situation heute, nachdem ich meine webpack Config rewrited. So faul wie ich benutze ich die selbe webpack.config.json sowohl im webpack-dev-server als auch im webpack.

Das Problem bei mir passiert, wenn ich mein Projekt aufgeteilt wie folgt aus:

// output for js 
output: { 
    path: path.join(__dirname + '/build'), 
    filename: './res/js/[name]_[hash:10].js' 
}, 

//output for html 
var pages = getEntry(['./home/en/*.html','./home/cn/*.html'],'home/'); 
for (var chunkname in pages) { 
    var conf = { 
     filename: path.join(path.dirname(pages[chunkname]).replace('home/','build/'),path.basename(pages[chunkname])), 
     template: pages[chunkname], 
     favicon: './img/favicon.ico', 
     inject: true, 
     hash: true, 
     minify: { 
      removeComments: true, 
      collapseWhitespace: true 
     }, 
     chunks: ['vendor','css/[name].css', chunkname] 
    }; 
    plugins.push(new HtmlWebpackPlugin(conf)); 

Dann werden alle JS schief gelaufen ist, Konsole mir gesagt, mit dem gleichen Fehler. Ich überprüfte die Funktion _webpack_require_, und fand die ganze Kartennummer falsch mit dem, was es sein sollte.

Dann überprüfte ich webpack_dev_server Logbuch, und fanden diese:

   ..\build\en\aboutus-company.html 11.3 kB   [emitted] 
       ..\build\en\aboutus-news.html 6.26 kB   [emitted] 
      ..\build\en\aboutus-privacy.html 8.58 kB   [emitted] 
      ..\build\en\aboutus-service.html 10.7 kB   [emitted] 
        ..\build\en\index.html 10.9 kB   [emitted] 
       ..\build\en\monetization.html 6.63 kB   [emitted] 
      ..\build\en\news-161017-1.html 7.76 kB   [emitted] 
      ..\build\en\news-161017-2.html 8.71 kB   [emitted] 
      ..\build\en\news-161017-3.html  9.9 kB   [emitted] 
        ..\build\en\owner.html  5.9 kB   [emitted] 
         ..\build\en\sdk.html 5.29 kB   [emitted] 
      ..\build\en\successstories.html 7.72 kB   [emitted] 
      ..\build\cn\aboutus-company.html 11.3 kB   [emitted] 
       ..\build\cn\aboutus-news.html 6.26 kB   [emitted] 
      ..\build\cn\aboutus-privacy.html 8.58 kB   [emitted] 
      ..\build\cn\aboutus-service.html 10.7 kB   [emitted] 
        ..\build\cn\index.html 10.9 kB   [emitted] 
       ..\build\cn\monetization.html 6.63 kB   [emitted] 
      ..\build\cn\news-161017-1.html 7.76 kB   [emitted] 
      ..\build\cn\news-161017-2.html 8.71 kB   [emitted] 
      ..\build\cn\news-161017-3.html  9.9 kB   [emitted] 
        ..\build\cn\owner.html  5.9 kB   [emitted] 
         ..\build\cn\sdk.html 5.29 kB   [emitted] 
      ..\build\cn\successstories.html 7.72 kB   [emitted] 

Es Dateien in das Unterverzeichnis ausgegeben. Als ich diesen Weg versuchte, ging alles gut.