grunt-browserify找不到jquery模块

时间:2014-08-26 21:04:29

标签: jquery node.js gruntjs browserify

我的应用配置包括:

的package.json

{
  "name": "myapp",
  "version": "0.0.1",
  "scripts": {
    "start": "node app"
  },
  "repository": {
    "type": "git",
    "url": "git@github.com:me/myapp"
  },
  "dependencies": {
    "browserify": "^5.10.1",
    "browserify-shim": "^3.7.0",
    "grunt-browserify": "^2.1.4",
  },
  "engines": {
    "node": "0.10.x"
  },
  "browser": {
    "jquery": "public/bower_components/jquery/dist/jquery.min.js"
  },
  "browserify-shim": {
    "jquery": { "exports": "$" }
  },
  "browserify": {
    "transform": [
      "browserify-shim"
    ]
  }
}

Gruntfile.js

module.exports = function(grunt) {
    grunt.initConfig({
        browserify: {
            app: {
                src: [ 'public/javascripts/app.js' ],
                dest: 'public/javascripts/build.js'
            }
        }
    });

    grunt.loadNpmTasks('grunt-browserify');
    grunt.registerTask('default', ['browserify']);
};

公开/ Javascript角/ app.js

var $ = require('jquery');

$(document).ready(function() {
    alert('Ciao!');
});

结果是:

正在运行" browserify:app" (browserify)任务 错误:模块" jquery"未找到" /Users/me/GitHub/myapp/public/javascripts/app.js"

我在网上找到了类似的配置示例,我无法找到我的错误,请帮帮我! 我只是想在我的项目中一起使用grunt和browserify。 下一步将包括twitter bootstrap。

顺便说一下,我不想安装jquery npm模块,想要使用凉亭。

1 个答案:

答案 0 :(得分:1)

您是否尝试使用debowerify?如果您使用的是debowerify,则package.json将简化如下:

的package.json

{
  "name": "myapp",
  "version": "0.0.1",
  "scripts": {
    "start": "node app"
  },
  "repository": {
    "type": "git",
    "url": "git@github.com:me/myapp"
  },
  "dependencies": {
    "debowerify": "^0.8.1",
    "grunt": "^0.4.5",
    "grunt-browserify": "^3.0.1",
  },
  "engines": {
    "node": "0.10.x"
  },
  "browserify": {
    "transform": [
      "debowerify"
    ]
  }
}

Gruntfile.js和public / javascripts / app.js仍然可以与上面相同