我知道browserify是什么,browserify-shim是用来做什么的。但是我不懂语法。
我已经在package.json中指定了下面的一个
"browserify-shim": {
"jquery": "$"
}--也就是说,将jQuery转换为可请求的模块。那么“转换”:"browserify-shim“在这里有什么作用呢?
从文档中找不到答案。有人能帮我理解一下吗?
编辑
如果我的问题不清楚,
“browserify”: { “transform”: [ “browserify-shim” ] } 这段代码是什么意思?转换是做什么的?
发布于 2015-03-11 22:12:20
编辑:
转换是添加到browserify以修改browserify进程的进程。列出了一些其他流行的转换here
原始(错误)响应:
您所做的是从NPM获取jquery包(或package.json浏览器部分中的别名),并将变量$暴露给整个browserify包。
如果我要
npm install moment --save然后将以下内容添加到browserify-shim中:
"moment": "moment"我也会将moment.js暴露给整个捆绑包。
要记住的一点是,jQuery是一个格式正确的文件,所以你也可以在你的主应用程序中添加以下代码,而不是使用browserify-shim:
var $ = window.jQuery = require("jquery");发布于 2017-01-04 05:36:23
当您的package.json中有" transform“时,这意味着此转换将被自动应用。
因此,您的示例相当于运行browserify -t browserify-shim。
如果你有
"transform": [
"a",
"b",
"c"
]并运行browserify mycode.js > bundle.js,将应用转换a、b和c。
使用"transform“字段还意味着您可以在npm上分发包含转换作为依赖项的包。当其他人想要将您的包包含在他们的browserify包中时,将应用正确的转换。
这里有一些有用的文档:https://github.com/substack/browserify-handbook#browserifytransform-field
https://stackoverflow.com/questions/28936685
复制相似问题