Require.js 定义对象以某种方式被插入到我的代码中 - gulp.js
Require.js define object is somehow being inserted to my code - gulp.js
我是 运行 一个 gulp-concat
脚本,它连接了 jquery、slick-carousel、t.js 和我的 index.js 文件。
const pack = () => {
return gulp.src(['./node_modules/jquery/**/jquery.js', './node_modules/slick-carousel/**/slick.js', './assets/js/t.js-master/t.js', './js/index.js'])
// .pipe(gulp_babel({
// 'presets': ['@babel/env'],
// 'plugins': ["transform-remove-strict-mode"]
// }))
.pipe(gulp_concat('main.js'))
// .pipe(gulp_uglify())
.pipe(gulp.dest('./build'));
}
如您所见,我删除了所有可能导致问题的管道。唯一的任务 运行 是 gulp-concat
。 (index.js
全部在 ES5 中,我在最新版本的 firefox 上 运行,不需要 babel atm)但是,当我打开我的页面时,出现错误
Uncaught ReferenceError: define is not defined
查看 main.js,我在 jquery 部分的末尾找到了一个 define
对象 - 但仅在连接文件中,而不是 jquery 中的 node_modules
。我没有添加这个,据我所知我没有使用 require.js
:
define( [
"./core",
"./selector",
"./traversing",
"./callbacks",
"./deferred",
"./deferred/exceptionHook",
"./core/ready",
"./data",
"./queue",
"./queue/delay",
"./attributes",
"./event",
"./event/focusin",
"./manipulation",
"./manipulation/_evalUrl",
"./wrap",
"./css",
"./css/hiddenVisibleSelectors",
"./serialize",
"./ajax",
"./ajax/xhr",
"./ajax/script",
"./ajax/jsonp",
"./ajax/load",
"./core/parseXML",
"./core/parseHTML",
"./effects",
"./effects/animatedSelector",
"./offset",
"./dimensions",
"./deprecated",
"./exports/amd",
"./exports/global"
], function( jQuery ) {
"use strict";
return jQuery;
} ); // jQuery seems to end here
如何添加这个额外的代码,我该如何避免?我也在使用 browserSync,但我认为这无关。
我刚刚查看了 jQuery 的来源,有一个文件:
https://github.com/jquery/jquery/blob/3.5.1/src/jquery.js
所以您需要做的就是简单地排除它,它应该可以解决问题:)
我是 运行 一个 gulp-concat
脚本,它连接了 jquery、slick-carousel、t.js 和我的 index.js 文件。
const pack = () => {
return gulp.src(['./node_modules/jquery/**/jquery.js', './node_modules/slick-carousel/**/slick.js', './assets/js/t.js-master/t.js', './js/index.js'])
// .pipe(gulp_babel({
// 'presets': ['@babel/env'],
// 'plugins': ["transform-remove-strict-mode"]
// }))
.pipe(gulp_concat('main.js'))
// .pipe(gulp_uglify())
.pipe(gulp.dest('./build'));
}
如您所见,我删除了所有可能导致问题的管道。唯一的任务 运行 是 gulp-concat
。 (index.js
全部在 ES5 中,我在最新版本的 firefox 上 运行,不需要 babel atm)但是,当我打开我的页面时,出现错误
Uncaught ReferenceError: define is not defined
查看 main.js,我在 jquery 部分的末尾找到了一个 define
对象 - 但仅在连接文件中,而不是 jquery 中的 node_modules
。我没有添加这个,据我所知我没有使用 require.js
:
define( [
"./core",
"./selector",
"./traversing",
"./callbacks",
"./deferred",
"./deferred/exceptionHook",
"./core/ready",
"./data",
"./queue",
"./queue/delay",
"./attributes",
"./event",
"./event/focusin",
"./manipulation",
"./manipulation/_evalUrl",
"./wrap",
"./css",
"./css/hiddenVisibleSelectors",
"./serialize",
"./ajax",
"./ajax/xhr",
"./ajax/script",
"./ajax/jsonp",
"./ajax/load",
"./core/parseXML",
"./core/parseHTML",
"./effects",
"./effects/animatedSelector",
"./offset",
"./dimensions",
"./deprecated",
"./exports/amd",
"./exports/global"
], function( jQuery ) {
"use strict";
return jQuery;
} ); // jQuery seems to end here
如何添加这个额外的代码,我该如何避免?我也在使用 browserSync,但我认为这无关。
我刚刚查看了 jQuery 的来源,有一个文件:
https://github.com/jquery/jquery/blob/3.5.1/src/jquery.js
所以您需要做的就是简单地排除它,它应该可以解决问题:)