javascript - Webpacking jQuery 和自定义文件 : jQuery is undefined

标签 javascript jquery node.js gulp webpack

我正在使用 webpack 来连接我自己的 JS 库和 JS 文件。目前的设置是这样的

var wpStream = require('webpack-stream')';
var files = ['jquery.js', 'angular.js', 'app.js', 'controller.js', 'etc.js'];

gulp.task('pack', function(){
  return gulp.src(files)
    .pipe(wpStream({
      output:{filename: 'bundle.js'}
    }).pipe(gulp.dest('dist'));
});

这个效果很好。我的文件已创建,并且包含我的 files 数组中指定的所有内容。然而,在页面加载时,我收到错误jQuery is not Defined。此外,当我在控制台中输入 jQuery 时,没有 jQuery,而是 jQuery111206520785381790835。当我附加一个点来查看方法列表时,只有普通的对象方法(hasOwnPropertytoString 等)。

如何访问 jQuery? webpack 用它做了什么?

最佳答案

你必须使用 webpack 让 jQuery 全局可访问 ProvidePlugin

var webpack = require('webpack');
var wpStream = require('webpack-stream');
var path = require('path');
var files = ['app.js', 'controller.js', 'etc.js'];

gulp.task('pack', function () {
    return gulp.src(files)
        .pipe(wpStream(
            {
                output: {
                    filename: 'bundle.js'
                },
                plugins: [
                    new webpack.ProvidePlugin({
                        angular: "angular",
                        $: "jquery",
                        jQuery: "jquery"
                    })
                ],
                resolve: {
                    root: path.resolve('./vendor'), // directory that contains jquery.js and angular.js
                    extensions: ['', '.js']
                }
            }
        ).pipe(gulp.dest('dist'));
});

关于javascript - Webpacking jQuery 和自定义文件 : jQuery is undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37219683/

相关文章:

javascript - 如何在没有文本嵌套在 TH 的子节点中的情况下将文本嵌套到 TH 中?

javascript - 脚本双重转义状态

javascript - 如何将 Wiris 或 Mathjax 添加到 Quill 编辑器

javascript - JS中如何对&lt;input&gt;和<select>之间的数据求和?

node.js - 创建 React App 时 package.json 中缺少依赖项

node.js - 使用 WebRTC 创建远程桌面

javascript - 如何引发属性(property)变更事件?

javascript - 为什么 javascript setTimeout 会同时执行所有操作?

javascript - 索引不在允许的范围内

javascript - 未捕获的类型错误 : Object [object Object] has no method 'addEventlistner'