关于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 [email protected]
  arguments: dest = dist
  arguments: cwd = $CWD
  arguments: include = relative
  arguments: ignore = bootstrap
  arguments: idleading = {{name}}/{{version}}
  arguments: install = true
      found: [email protected]
    install: bootstrap@0
      fetch: bootstrap@0
      error: Not found.
      found: [email protected]
      found: [email protected]

      error: Not found.

找不到bootstrap是必然的,我怎么排除他,让生成的文件中只显示
require('bootstrap')就好,不要为它生成路径。

求解,万分感谢

seajs spm3 JavaScript

哥哥,轻一点 10 years, 4 months ago

https://github.com/spmjs/spm/pull/856 不知道能否解决?需要等 3.1 发布。

苍蓝杀戮天使 answered 10 years, 4 months ago

Your Answer