2016-04-08 32 views
0

webpackを使用してjsファイルをバンドルしているときに、ライブラリjplayerbundle.jsファイルにバンドルされています。しかし、Webページがブラウザに読み込まれると、コンソールにはcannot set property jplayer of undefinedというエラーが表示されます。私はwebpackに起因するエラー、またはjplayerライブラリにバグがあることを混乱させています。 ヘルプは非常に高く評価されています。webpack jplayer:未定義のプロパティjplayerを設定できません

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; 

答えて

0

私は私のWebPACKの設定を書き換え中後、私は、今日と同じような状況をmeent。私のように怠惰なので、webpack-dev-serverとwebpackの両方で同じwebpack.config.jsonを使用します。私に

問題は、私はこのように私のプロジェクトを分割する際に起こった:

// 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)); 

その後、すべてのJSが間違っていた、コンソールは同じエラーで私に言いました。 _webpack_require_の機能を調べたところ、すべてのマップ番号が間違っていることがわかりました。

は、その後、私はwebpack_dev_serverのログをチェックして、この発見:それはサブフォルダにファイルを放出さ

   ..\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] 

を。私がこの道を試すと、すべてのことがうまくいった。

関連する問題