我正在为位于某个路径的app.js运行browserify,并且每次都失败,无法从lodash
找到模块[PATH]
。
Running "browserify:build" (browserify) task
Error: Cannot find module 'lodash' from '/var/lib/jenkins/buildcode/output/mydir/app_store_richUI/cartridge/js'
Warning: Error running grunt-browserify. Use --force to continue.
[PATH]
与app.js文件所在的位置相同。但是,如果我将文件名更改为同一路径上的其他js文件,则可以正常工作。因此,场景是它为某些js文件成功,而对于同一路径的其他人则失败。
有人可以提出建议吗?
我全局安装了Browserify.js
脚本。
module.exports = {
build: {
files: {
'<%= settings["local.build.dir"] %>/output/<%= grunt.config("build") %>/app_eyeconic_richUI/cartridge/static/default/js/eyeconic.app.js':'<%= settings["local.build.dir"] %>/output/<%= grunt.config("build") %>/app_eyeconic_richUI/cartridge/js/app.js'
},
}
}
路径在包含其他文件的日志中正确显示。它仅在app.js
文件
答案 0 :(得分:1)
这是一个非常微不足道的问题,但花了很长时间才解决。 问题是构建套件位于与构建源不同的位置。 browserify任务包含require语句,它搜索父目录中的模块,因此无法找到所需的模块。
在与源相同的路径上复制构建套件后,它可以工作。
所以目前,我的gruntfile.js(以及套件中的其他文件/文件夹),导出和输出目录都是相同的路径。