【问题标题】:Require not working the way I thought it would要求不按我想象的方式工作
【发布时间】:2016-01-28 14:57:45
【问题描述】:

所以我有以下 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');

我明白了:

错误:找不到模块'underscore.string/string' '/Users/AdamBalan/Documents/Flare-Collection/src/add_new_currencies'

我所有的 require 语句都要求我这样做:var bla = require('some/file/to/include.js')

我所有的课程(我正在使用 es6)在文件底部都有:module.exports = ClassName;

为什么会出现此错误?

更重要的是,为什么一定要包含js文件的路径?

【问题讨论】:

    标签: javascript node.js require browserify babeljs


    【解决方案1】:

    underscore.string 没有string 子模块(函数)。如果您想加载所有包,请尝试_s = require('underscore.string')。如果你想加载像slugify 这样的单个模块,试试slugify = require('underscore.string/slugify')

    您不需要包含 js 文件的路径。如果选择目录,则node.js尝试查找index.js文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-15
      • 1970-01-01
      • 1970-01-01
      • 2021-11-29
      相关资源
      最近更新 更多