[英]How to Find Cause of — Error: Cannot find module
我将gulp与browserify结合使用,以捆绑应用程序。 在构建正常运行时,我不断收到以下错误消息:
Error: Cannot find module 'function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s}'
有谁知道导致错误的原因或如何调试? 仅当主js文件中的require
语句为零时,才不会出现该错误。 以下是gulp和main.js文件供参考:
gulp文件
var gulp, browserify, stringify, sass, concat, uglify, source, buffer;
gulp = require('gulp');
browserify = require('gulp-browserify');
stringify = require('stringify');
sass = require('gulp-sass');
concat = require('gulp-concat');
uglify = require('gulp-uglify');
function handleError(err) {
console.log(err.toString());
}
gulp.task('browserify', function () {
return gulp.src('./src/js/**/*.js', { read: false })
.pipe(browserify({
transform: [stringify({
extensions: ['.html'],
minify: true
})]
}))
.on('error', handleError)
.pipe(concat('main.js'))
.pipe(gulp.dest('./bin/js'));
});
gulp.task('sass', function() {
return gulp.src('./src/scss/**/*.scss')
.pipe(sass())
.on('error', handleError)
.pipe(concat('main.css'))
.pipe(gulp.dest('./bin/css'));
});
gulp.task('index', function () {
return gulp.src('./src/index.html')
.pipe(gulp.dest('./bin'));
});
gulp.task('default', ['browserify', 'sass', 'index']);
gulp.task('watch', function() {
gulp.watch('./src/js/**/*.js', ['browserify']);
gulp.watch('./src/scss/**/*.scss', ['sass']);
gulp.watch('./src/index.html', ['index']);
gulp.watch('./src/html/**/*.html', ['browserify']);
});
main.js
'use strict';
var $ = require('jquery'),
ko = require('knockout'),
greet = require('./components/greet');
window.$ = window.jQuery = $;
function AppViewModel() {
var self = this;
self.userName = ko.observable('');
}
ko.components.register('greet', greet);
ko.applyBindings(new AppViewModel());
当您合并多个浏览器化的文件时,会发生这种情况。 为了解决您只需在浏览器确认之前先进行连接
gulp.task('browserify', function () {
return gulp.src('./src/js/**/*.js', { read: false })
.pipe(concat('main.js'))
.pipe(browserify({
transform: [stringify({
extensions: ['.html'],
minify: true
})]
}))
.on('error', handleError)
.pipe(gulp.dest('./bin/js'));
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.