javascript - 要求不按我想象的方式工作

标签 javascript node.js require browserify babeljs

所以我有以下 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/

相关文章:

javascript - 我的 Angular 2 对象打印在控制台上,但单个属性没有从模板打印

javascript - 如何停止 div 加载 HTML 页面

javascript - 在 Javascript 中减少

javascript - 如何从 node.js 服务器获取数据到 Electron 应用程序?

node.js - 如何处理 node.js 中的 for 循环?

javascript - XHR onreadystatechange 从不触发

javascript - 如何使用 jquery 停止 $(window).scroll 事件?

php - 为什么找不到我的界面?

ruby - 需要 gem 是否会加载所有内容,包括我不使用的东西?

javascript - 如何获取promise的 "initiator"调试信息?