gpt4 book ai didi

javascript - 这个 "_.startsWith"从哪里来?

转载 作者:行者123 更新时间:2023-11-28 16:55:38 27 4
gpt4 key购买 nike

我试图理解 browserify-css 中的以下代码 repo 协议(protocol):

var gulp = require('gulp');
var gutil = require('gulp-util');
var path = require('path');
var browserify = require('browserify');
var sourceStream = require('vinyl-source-stream');
var fse = require('fs-extra');

var bundleStream = browserify()
.add('src/index.js')
.transform(require('browserify-css'), {
rootDir: 'src',
processRelativeUrl: function(relativeUrl) {
var stripQueryStringAndHashFromPath = function(url) {
return url.split('?')[0].split('#')[0];
};
var rootDir = path.resolve(process.cwd(), 'src');
var relativePath = stripQueryStringAndHashFromPath(relativeUrl);
var queryStringAndHash = relativeUrl.substring(relativePath.length);

//
// Copying files from '../node_modules/bootstrap/' to 'dist/vendor/bootstrap/'
//
var prefix = '../node_modules/';
if (_.startsWith(relativePath, prefix)) {
var vendorPath = 'vendor/' + relativePath.substring(prefix.length);
var source = path.join(rootDir, relativePath);
var target = path.join(rootDir, vendorPath);

gutil.log('Copying file from ' + JSON.stringify(source) + ' to ' + JSON.stringify(target));
fse.copySync(source, target);

// Returns a new path string with original query string and hash fragments
return vendorPath + queryStringAndHash;
}

return relativeUrl;
}
})
.bundle();

bundleStream
.pipe(sourceStream(bundleFile))
.pipe(gulp.dest(browserifyConfig.dest));

我不明白这部分

_.startsWith(relativePath, prefix)

下划线是哪里来的?它应该是由任务运行程序执行的 javascript。我发现在 NodeJS REPL 中下划线字符输出最后执行的表达式的结果,但该功能不能在脚本内使用。它也不是 underscore.js 实例,因为它没有在任何地方声明。 startsWith 是一个字符串方法。

那么我错过了什么?

最佳答案

该代码使用 lodash library 。您可以在this section中看到自述文件中显示他们正在使用 var _ = require('lodash');

导入 lodash

关于javascript - 这个 "_.startsWith"从哪里来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59293925/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com