我知道浏览器是什么以及browserify-shim是什么。但我不懂语法。
我已经在package.json
中指定了以下一个"browserify-shim": {
"jquery": "$"
}
- 这意味着,将jQuery转换为可请求的模块。那么“转换”的目的是什么:[“browserify-shim”]在这里?
无法从文档中找出答案。谁能帮我理解?
修改
如果我的问题不明确,请加入
“browserify”: { “transform”: [ “browserify-shim” ] }
这段代码是什么意思?变换做了什么?
答案 0 :(得分:1)
编辑:
转换是添加到browserify以修改browserify进程的进程。列出了其他一些流行的转换here
原始(错误)回复:
你正在做的是从NPM(或package.json的浏览器部分中的别名)获取jquery包,并将变量$暴露给整个browserify包。
如果我要
npm install moment --save
然后将以下内容添加到browserify-shim:
"moment": "moment"
我也会将moment.js暴露给整个包。
需要记住的是,jQuery格式正确,因此您可以将它放在主应用程序中,而不是使用browserify-shim:
var $ = window.jQuery = require("jquery");
答案 1 :(得分:0)
当你有"转换"在你的package.json中,这意味着将自动应用此转换。
所以你的例子相当于运行browserify -t browserify-shim
。
如果你有
"transform": [
"a",
"b",
"c"
]
并运行browserify mycode.js > bundle.js
,将应用转化a
,b
和c
。
使用"转换"字段还意味着您可以在npm上分发包含转换为依赖项的包。当其他人想要将你的软件包包含在他们的browserify包中时,将会应用正确的转换。
这里有用的文档:https://github.com/substack/browserify-handbook#browserifytransform-field