2016-10-12 15 views
-1

webpackを使用して、完全なツールチップのjqueryプラグイン(http://tborychowski.github.io/perfecttooltip/)を読み込もうとしています。 ここに提供されている手順(Managing jQuery plugin dependency in webpack)に従って、typed.jsとbackstretchのような他のjqueryプラグインを正常にロードしましたが、特定のプラグインでは動作しないようです。webpack jquery plugin perfect-tooltip

私がバンドルを実行すると、(プラグインによってエクスポートされた)ツールチップの機能が定義されていないというエラーが表示されます。プラグインはjqueryによってロードされていないようです。プラグインが独自のjqueryインスタンスをロードしようとしたので、別名を使用しました。

alias: { 
    'jquery': require('jquery'), 
} 

これは問題を解決しませんでした。

私の現在のWebPACK構成:

var webpack = require('webpack'); 
var HtmlWebpackPlugin = require('html-webpack-plugin'); 
var CleanWebpackPlugin = require('clean-webpack-plugin'); 
var CopyWebpackPlugin = require('copy-webpack-plugin'); 
var ExtractTextPlugin = require('extract-text-webpack-plugin'); 
var moment = require('moment'); 
var path = require('path'); 
var environment = process.env.APP_ENVIRONMENT || 'dev'; 

module.exports = { 

    entry: { 
    'app': './src/main.ts', 
    'polyfills': './src/polyfills.ts', 
    'vendor': './src/vendor.ts' 
    }, 
    devtool: 'source-map', 
    output: { 
    path: './dist', 
    filename: '[name].browser.' + moment().format('DDMMYYYYHHmm') + '.js' 
    }, 
    module: { 
    loaders: [ 
     { test: /\.component.ts$/, loader: 'ts!angular2-template' }, 
     { test: /\.ts$/, exclude: /\.component.ts$/, loader: 'ts' }, 
     { test: /\.html$/, loader: 'raw-loader' }, 
     { test: /\.css$/, include: path.resolve('src/app'), loader: 'raw-loader' }, 
     { 
     test: /\.css$/, exclude: path.resolve('src/app'), loader: ExtractTextPlugin.extract('style', 'css', { 
      fallbackLoader: "style-loader", 
      loader: "css-loader" 
     }) 
     }, 
     { test: /\.(png|jpe?g|gif|ico)$/, loader: 'file?name=fonts/[name].[ext]' }, 
     { test: /\.woff(\?v=\d+\.\d+\.\d+)?$/, loader: "url?limit=10000&mimetype=application/font-woff&name=fonts/[name].[ext]" }, 
     { test: /\.woff2(\?v=\d+\.\d+\.\d+)?$/, loader: "url?limit=10000&mimetype=application/font-woff&name=fonts/[name].[ext]" }, 
     { test: /\.ttf(\?v=\d+\.\d+\.\d+)?$/, loader: "url?limit=10000&mimetype=application/octet-stream&name=fonts/[name].[ext]" }, 
     { test: /\.eot(\?v=\d+\.\d+\.\d+)?$/, loader: "file?name=fonts/[name].[ext]" }, 
     { test: /\.svg(\?v=\d+\.\d+\.\d+)?$/, loader: "url?limit=10000&mimetype=image/svg+xml&name=fonts/[name].[ext]" }, 
    ] 
    }, 
    resolve: { 
    extensions: ['', '.js', '.ts', '.html', '.css'] 
    }, 
    plugins: [ 
    new webpack.optimize.CommonsChunkPlugin({ 
     name: ['vendor', 'polyfills'] 
    }), 
    new HtmlWebpackPlugin({ 
     template: './src/index.html' 
    }), 
    new webpack.DefinePlugin({ 
     app: { 
     environment: JSON.stringify(environment), 
     config: JSON.stringify(require('./profile/' + environment + ".profile.js")) 
     } 
    }), 
    new CleanWebpackPlugin(
     ['dist'] 
    ), 
    new CopyWebpackPlugin([ 
     { from: './src/images', to: 'images' } 
    ]), 
    new ExtractTextPlugin('[name].browser.css'), 
    new webpack.optimize.UglifyJsPlugin({ minimize: true }), 
    new webpack.ProvidePlugin({ 
     $: "jquery", 
     jQuery: "jquery", 
     "window.jQuery": "jquery" 
    }) 
    ] 
}; 

任意の洞察力?

答えて

0

最終的に私はそのスクリプトを読み込むことができました。 パッケージに含まれているpackage.jsonファイルにはメインプロパティがありません.Webpackは単にパッケージ内のすべてのファイルをバンドルしようとしていました。 「js/jquery.tooltip.js」と「css/tooltip.css」という2つの特定のファイルが必要です。