【问题标题】:Using jquery-mobile with Webpack将 jquery-mobile 与 Webpack 一起使用
【发布时间】:2016-04-01 13:11:58
【问题描述】:

我正在尝试使用 webpack 加载 jquery-mobile,但到目前为止没有运气。 我知道 jquery-mobile 依赖于 jquery-ui,而 jquery-ui 又依赖于 jquery。

如何在 Webpack 中设置这样的场景?

这是我的webpack.config.js

var webpack = require('webpack');
var path = require('path');
var bower_dir = __dirname + '/bower_components';

module.exports = {

    context: __dirname,
    entry: './assets/js/index.js',         
    output: {
        path: path.resolve('./assets/bundles/'),
        filename: "[name]-[hash].js",
    },
    plugins: [
        new BundleTracker({filename: './webpack-stats.json'}),
        new webpack.ProvidePlugin({
            $: 'jquery',
            jQuery: 'jquery',
            'window.jQuery': 'jquery'
        })
    ],
    module: {
        loaders: [
            {test: /[\/\\]node_modules[\/\\]some-module[\/\\]index\.js$/, loader: "imports?this=>window"}
        ]
    },
    resolve: {
        alias: {
            'jquery': bower_dir + '/jquery/src/jquery.js',
            'jquery-ui': bower_dir + '/jquery-ui/jquery-ui.js',
            'jquery-mobile': bower_dir + '/jquery-mobile/js/jquery.mobile.js'
        }
    }
};

任何帮助将不胜感激。

提前谢谢大家。

【问题讨论】:

  • 你真的需要 webpack 吗?因为你可以只在页面中添加脚本引用并告诉 webpack 它们将在全球范围内可用。
  • @VinTem 够公平的。关于如何做到这一点的任何想法?

标签: javascript jquery jquery-ui jquery-mobile webpack


【解决方案1】:

如果你只是按照正确的顺序将你需要的脚本添加到页面中,你就不用担心在 webpack 中了。

您所要做的就是告诉 webpack 这些模块是从外部引用加载的,如下所示:

{
  externals: {
    'jquery': 'jQuery'
  } 
}

这告诉 webpack 每次你 require('jquery') 时它都会返回一个全局可用的变量 jQuery。

【讨论】:

  • 所以我在我的 gsp 文件中添加了 jquery.js 作为脚本标签。我将上述外部对象添加到我的 webpack.config 文件中,我的模块仍然说 $ 未定义。我添加了 require('jquery');到我捆绑模块的顶部,但仍然没有乐趣。你能解释一下为什么这对我来说不能正常工作吗?
  • 您可能应该发布一个包含更多信息和一些代码示例的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-05
  • 2012-01-16
  • 2016-11-07
  • 2015-07-03
  • 1970-01-01
相关资源
最近更新 更多