首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Webpacking和自定义文件:未定义jQuery

Webpacking和自定义文件:未定义jQuery
EN

Stack Overflow用户
提问于 2016-05-14 05:35:41
回答 1查看 428关注 0票数 2

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

代码语言:javascript
复制
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是怎么处理的呢?

EN

回答 1

Stack Overflow用户

发布于 2016-05-15 00:05:29

您必须使用webpack ProvidePlugin使jQuery可全球访问

代码语言:javascript
复制
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'));
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37219683

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档