关于spm3中如何忽略seajs中定义的别名
或许是我有些地方没有理解透彻,求指点:
在spm2中的package.json中有alias来定义这些别名,我看到官方的迁移说明
如下:
修改 spm.alias 为 spm.dependencies,注意 dependencies 的格式为 "{{name}}": "{{version}}"
- "alias": { "base": "anima/base/1.1.0/base" }
改为 "dependencies": { "anima-base": "1.1.0" }
但是我发现dependencies只能定义官方提供的模块 jquery、arale-xx等等,这些还要给出正确的版本号,而我在seajs config中定义的别名文件可能指向另一个站点提供的seajs模块,我在dependencies中设置是无效的。
我使用"buildArgs":"--ignore bootstrap"来忽略也不行,这个只能忽略dependencies中可以定义的模块
代码片段:
window.$ = window.jQuery = require('jquery');
require('bootstrap');//seajs-config中定义的别名
//package.json 片段
"spm": {
"main": "index.js",
"dependencies": {
"jquery":"1.7.2",
"bootstrap":"xxx" //这里没有版本号(肯定是不行的),删除掉是一样的错误
},
"buildArgs":"--ignore bootstrap"
}
错误:
start: build mytest@1.0.0
arguments: dest = dist
arguments: cwd = $CWD
arguments: include = relative
arguments: ignore = bootstrap
arguments: idleading = {{name}}/{{version}}
arguments: install = true
found: jquery@1.7.2
install: bootstrap@0
fetch: bootstrap@0
error: Not found.
found: expect.js@0.3.1
found: seajs@2.2.1
error: Not found.
找不到bootstrap是必然的,我怎么排除他,让生成的文件中只显示
require('bootstrap')就好,不要为它生成路径。
求解,万分感谢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
https://github.com/spmjs/spm/pull/856 不知道能否解决?需要等 3.1 发布。