找不到模块Bootstrap

时间:2013-11-21 22:00:22

标签: node.js twitter-bootstrap npm gruntjs browserify

我正在运行“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': '_'
              }
            }
          }

2 个答案:

答案 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