关于spm3中如何忽略seajs中定义的别名

发布于 2022-08-29 18:12:11 字数 1435 浏览 16 评论 0

或许是我有些地方没有理解透彻,求指点:
在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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

鸠魁 2022-09-05 18:12:11

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文