gpt4 book ai didi

gruntjs - grunt browserify react 需要 jquery

转载 作者:行者123 更新时间:2023-12-03 13:31:20 24 4
gpt4 key购买 nike

使用最新的节点和Grunt 0.4.x,react 0.10.x

如何通过 Grunt 对包含 jquery 要求的 React JSX 文件执行 browserify:

var $ = require('jquery');

阅读 about a similar problem 后尝试将垫片转换移动到 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" ]
}

无法让 browserify 解析来自 Grunt 的简单 JavaScript 文件(仅使用“var $ = require('jquery');)。Gruntfile.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”添加到 package.json 中的转换数组中。

最佳答案

我将“reactify”放入 package.json 的转换段中,并将 Grunt browserify 重新设置为:

browserify: {
dist: {
files: {
'build/bundle.js' : ['src/views/**/*.jsx']
}
}
},

如果没有“dist”,browserify 将无法正常运行。

这使得垫片可以工作,但reactify无法运行,所以我最终切换回grunt-react,并将转换逻辑拉回Gruntfile.js(这感觉更好) .

所以在package.json的末尾有:

  "browser": {
"jquery": "./lib/jquery/jquery.js",
"bootstrap": "./lib/bootstrap/bootstrap.js"
},
"browserify-shim": {
"jquery": {
"exports": "$"
},
"bootstrap": {
"exports": "bootstrap",
"depends": [ "jquery:$" ]
}
}

以及Gruntfile.js中:

browserify: {
options: {
debug: true,
transform: ['browserify-shim', require('grunt-react').browserify]
},
dist: {
files: {
'build/bundle.js' : ['src/views/**/*.jsx']
}
}
},

这既填充又处理 JSX。最后。

关于gruntjs - grunt browserify react 需要 jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24038949/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com