当前位置: 首页 > 知识库问答 >
问题:

Gulp和browserify给出错误:无法从“C:....”中找到模块“jQuery”

巫马浩言
2023-03-14

我收到的错误是:

错误:无法从'f:...\newstyle\assets\lib\helper\html\img\js'
在C:\users...\appdata\roaming\npm\node_module\browserify\node_module\srowserify\browser-resolve\node_module\srowser-resolve\lobers\lib\async.js:46:17
在进程Browser-resolve\node_module\resolve\lib\async.JS:188:17)
在加载时lib\async.js:22:47 at fsreqwrap.oncomplete(fs.js:153:21)

我的目录结构如下:

newstyle/assets/npm/index.js
newstyle/assets/npm/package.json
newstyle/assets/npm/gulpfile.js

newstyle/assets/lib/helper/html/img/js/img.module.js

{
  "name": "newstyle",
  "version": "1.0.0",
  "description": "styles and libraries",
  "main": "index.js",
  "dependencies": {
    "@tschallacka/assetmanager": "^1.0.0",
    "@tschallacka/jquery.oc.foundation": "^1.0.2",
    "@tschallacka/jquery.render": "^1.0.0",
    "@tschallacka/jquery.request": "^1.0.0",
    "@tschallacka/oc.foundation.base": "^1.0.1",
    "@tschallacka/oc.foundation.controlutils": "^1.0.1",
    "@tschallacka/oc.foundation.request": "^1.0.0",
    "animate.css": "^3.7.0",
    "bootstrap-less": "^3.3.8",
    "flexslider": "^2.7.2",
    "font-awesome": "^4.7.0",
    "jquery": "^3.4.1",
    "jquery-touchswipe": "^1.6.19",
    "jquery.easing": "^1.4.1",
    "lazysizes": "^4.1.8",
    "liquidslider": "git+https://git@github.com/KevinBatdorf/liquidslider.git",
    "popper.js": "^1.15.0",
    "sweetalert2": "^8.11.1"
  },
  "devDependencies": {},
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}
require('@tschallacka/oc.foundation.base');
require('@tschallacka/oc.foundation.controlutils');
// ====================== TROUBLE CAUSING LINE!! ==========================
require('../assets/lib/helper/html/img/js/img.module.js');

var $ = require('jquery');
var Base = require('@tschallacka/oc.foundation.base');
var controlUtils = require('@tschallacka/oc.foundation.controlutils');
'use strict';

var browserify = require('browserify');
var gulp = require('gulp');
var source = require('vinyl-source-stream');
var buffer = require('vinyl-buffer');
var uglify = require('gulp-uglify');
var sourcemaps = require('gulp-sourcemaps');
var log = require('gulplog');
var less = require('gulp-less');
var cssmin = require('gulp-cssmin');
var rename = require('gulp-rename');

gulp.task('javascript', function () {
  // set up the browserify instance on a task basis
  var b = browserify({
    entries: './index.js', // Source name
    debug: true
  });

  return b.bundle()
    .pipe(source('closure.js'))// Resulting filename
    .pipe(buffer())
    .pipe(sourcemaps.init({loadMaps: true}))
        // Add transformation tasks to the pipeline here.
        .pipe(uglify())
        .on('error', log.error)
    .pipe(sourcemaps.write('./'))
    .pipe(gulp.dest('../js/'));
});

gulp.task('watch', function () {
  gulp.watch('./*.less', ['less']);
});

gulp.task('less', function () {

  return gulp.src('./style.less')
    .pipe(less({
         relativeUrls: true
    }).on('error', function (err) {
      console.log(err);
    }))
    .pipe(cssmin().on('error', function(err) {
      console.log(err);
    }))
    .pipe(rename('closure.css'))
    .pipe(gulp.dest('../css/'));

});

当我运行这个没有引起麻烦的行时,一切都很好,它找到模块,它编译没有任何障碍。找不到模块没有问题。

但是当我需要这个脚本时,我从“父”脚本中要求作为测试的模块突然找不到了,尽管它应该仍然按字符串名在缓存中。

如果我按文件名“要求”文件,它确实可以工作,但这不太理想,因为这样我就经常需要检查目录嵌套。

var b = browserify({
    entries: './index.js', // Source name
    debug: true,
    basedir: __dirname
  });
Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force
npm install -g npm-windows-upgrade
npm-windows-upgrade

更新的GULP:

+ gulp@4.0.2
updated 6 packages in 19.938s

共有1个答案

微生乐
2023-03-14

解决方案相当简单,但不容易得出导致错误的原因,您必须在gulpfile.js中的browserify的'paths'变量中添加node_modules

// set up the browserify instance on a task basis
var b = browserify({
  entries: './index.js', // Source name
  debug: true,
  paths: ['./node_modules'] // <--- this line here
});
 类似资料:
  • 问题内容: 在Windows 7上,我已按以下说明安装了gulp:http : //markgoodyear.com/2014/01/getting-started-with- gulp/ : 在我的应用文件夹中: 我创建一个文件。 但是,当我尝试运行时,出现以下错误消息: 等等 但是存在于(在本地应用程序文件夹中): 知道可能是什么原因吗? 问题答案: 更新 从更高版本开始,无需手动安装gulp

  • 问题内容: 我正在使用Babel和Webpack开发一个React应用,我想使用npm中的软件包。我已经安装了该软件包并将其保存为项目的依赖项。运行npm start后,出现此错误: ./~/file-exists/index.js中的错误找不到 模块:错误:无法在C:\ GitHub \ CryptoPrices \ node_modules \ file-exists @ ./~/file-e

  • 当我执行npm运行构建时,我得到以下错误 找不到./src/assets/scss/theme.scss(./node_modules/css-loader/dist/cjs.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js!./src/assets/scss/theme.scss)模块:错误:无

  • 当我编译应用程序时,我得到一个错误,如下所示: 无法构建Objective-C模块“Firebase” 此错误出现在我的文件swift的中。

  • 问题内容: 我已经很长时间没有使用Node.js了,也从未使用过express。当我启动应用程序时,它刚刚返回: 启动test.html时发生错误。这是代码: 我自己的路 : 为什么呢 编辑: 这是我的新app.configure: 但它返回: 问题答案: 我假设test.html是一个静态文件。要渲染静态文件,请像这样使用静态中间件。 这告诉express在应用程序的公共目录中查找静态文件。 指