我正在运行“grunt”的目录中有node_module文件夹,其中包含所有模块,包括:Bootstrap,Browserify等。
当我跑“grunt”时
我明白了:
Running "jshint:files" (jshint) task
>> 12 files lint free.
Running "copy:build" (copy) task
Created 1 directories, copied 17 files
Running "concat:vendorcss" (concat) task
File "build-css/vendor.less" created.
Running "less:libremap" (less) task
File build/css/libremap.css created.
Running "jst:compile" (jst) task
File "build-jst/templates.js" created.
Running "browserify:vendor" (browserify) task
>> Bundled build/vendor/vendor.js
Running "browserify:libremap" (browserify) task
Warning: Cannot find module 'bootstrap' Use --force to continue.
它在browserify停止并说在这个场景之前找不到模块'bootstrap',它说没有“jquery”我用“npm install jquery”安装后重新启动“grunt”,其他一些缺少的模块也是随后报告我安装了。但是使用bootstrap,即使安装并确保它存在于node_modules目录中,我仍然有这个错误。
任何帮助将不胜感激。
我是grunt,npm,nodejs等的新手。我只是想设置一个 软件
附加任务代码。
有两个Browserify任务,我假设第一个从上面的输出成功完成?
browserify: {
vendor: {
src: [],
dest: 'build/vendor/vendor.js',
options: {
shim: {
jquery: {
path: 'bower_components/jquery/jquery.min.js',
exports: '$'
},
bootstrap: {
path: 'bower_components/bootstrap/dist/js/bootstrap.min.js',
exports: 'bootstrap',
depends: {
'jquery': 'jQuery'
}
},
leaflet: {
path: 'vendor/leaflet/leaflet.js',
exports: 'L'
},
'leaflet-markercluster': {
path: 'vendor/leaflet.markercluster/leaflet.markercluster.js',
exports: 'L',
depends: {
'leaflet': 'L'
}
}
}
}
},
// browserify libremap.js -> bundle.js
libremap: {
dest: 'build/js/libremap.js',
src: [ 'src/js/libremap.js' ],
options: {
debug: grunt.option('debug'),
external: ['jquery', 'bootstrap', 'leaflet', 'leaflet-markercluster'],
shim: {
templates: {
path: 'build-jst/templates.js',
exports: 'JST',
depends: {
'underscore': '_'
}
}
}
答案 0 :(得分:1)
试试这个,它应该有所帮助:
`bootstrap: {
path: 'bower_components/bootstrap/dist/js/bootstrap.min.js',
exports: 'bootstrap',
depends: {
'jquery': '$'
}
},`
重点是导出$
而不是jQuery
。
答案 1 :(得分:-2)
尝试:
npm -g install bower
bower install bootstrap