Gruntjs grunt browserify需要jquery
使用最新的节点和Grunt 0.4.x,react 0.10.x 如何通过Grunt对包含jquery要求的React JSX文件执行browserify:Gruntjs grunt browserify需要jquery,gruntjs,reactjs,browserify,browserify-shim,Gruntjs,Reactjs,Browserify,Browserify Shim,使用最新的节点和Grunt 0.4.x,react 0.10.x 如何通过Grunt对包含jquery要求的React JSX文件执行browserify: var $ = require('jquery'); 读取后,尝试将垫片转换移动到package.json。在我的package.json文件的底部有以下内容: "browser": { "jquery": "./bower_components/jquery/jquery.min.js", "bootstrap":
var $ = require('jquery');
读取后,尝试将垫片转换移动到package.json。在我的package.json文件的底部有以下内容:
"browser": {
"jquery": "./bower_components/jquery/jquery.min.js",
"bootstrap": "./bower_components/bootstrap/dist/js/bootstrap.min.js"
},
"browserify-shim": {
"jquery": {
"exports": "$"
},
"bootstrap": {
"exports": "bootstrap",
"depends": [ "jquery:$" ]
}
},
"browserify": {
"transform": [ "browserify-shim" ]
}
无法在Grunt的简单JavaScript文件(仅使用“var$=require('jquery');)上进行browserify解析。GrunFile.js具有:
browserify: {
options: {
debug: true
},
src: ['src/views/**/*.js'],
dest: 'build/javascript/client.js'
},
运行Grunt会出现以下错误:
Error: module "jquery" not found from "D:\\development\\projects\\Prenotes\\src\\views\\dummy.js"
如果并且当我开始工作时,我假设“reactify”可以添加到包中的转换数组中。json我将“reactify”放在包中的转换段中。json并将Grunt browserify重新定义为:
browserify: {
dist: {
files: {
'build/bundle.js' : ['src/views/**/*.jsx']
}
}
},
没有“dist”浏览器,浏览器就无法正常运行
这使得垫片工作,但reactify无法运行,因此我最终切换回grunt react,并将转换逻辑拉回到grunfile.js中(感觉更好)
因此,在包.json的末尾有:
"browser": {
"jquery": "./lib/jquery/jquery.js",
"bootstrap": "./lib/bootstrap/bootstrap.js"
},
"browserify-shim": {
"jquery": {
"exports": "$"
},
"bootstrap": {
"exports": "bootstrap",
"depends": [ "jquery:$" ]
}
}
在grunfile.js中:
browserify: {
options: {
debug: true,
transform: ['browserify-shim', require('grunt-react').browserify]
},
dist: {
files: {
'build/bundle.js' : ['src/views/**/*.jsx']
}
}
},
这将对JSX进行填隙和处理