所以我有以下 gulp 任务:
var gulp = require('gulp');
var source = require('vinyl-source-stream');
var browserify = require('browserify');
var babelify = require("babelify");
gulp.task('make:flare-currency', function() {
return browserify({entries: [
'src/add-new-currency/flare-currency.js',
'src/add-new-currency/currencies/set_up_currencies.js'
]})
.transform(babelify)
.bundle()
.pipe(source('Flare-Currency.js'))
.pipe(gulp.dest('dist/flare/currency/'));
});
我有以下 package.json:
{
"name": "flare-collection",
"description": "collection of scripts for the RPG Maker MV system.",
"version": "0.0.1",
"dependencies": {
"gulp": "3.9.0",
"browserify": "11.2.0",
"vinyl-source-stream": "1.1.0",
"babelify": "6.4.0",
"underscore.string": "2.3.0"
}
}
当我尝试这样做时,在里面:src/add_new_currencies/flare_currency.js
var UnderScoreString = require('underscore.string/string');
我得到:
Error: Cannot find module 'underscore.string/string' from '/Users/AdamBalan/Documents/Flare-Collection/src/add_new_currencies'
我的所有 require 语句都要求我这样做:var bla = require('some/file/to/include.js')
我的所有类(我使用的是 es6)在文件底部都有: module.exports = ClassName;
为什么我会收到此错误?
更重要的是,为什么我必须包含js文件的路径?
最佳答案
underscore.string
没有 string
子模块(函数)。如果您想加载所有包,请尝试 _s = require('underscore.string')
。如果您想加载像 slugify
这样的单个模块,请尝试 slugify = require('underscore.string/slugify')
。
您不需要包含 js 文件的路径。如果您选择目录,则 node.js
尝试查找 index.js
文件。
关于javascript - 要求不按我想象的方式工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33397776/