javascript 使用spm build 总是忽略backbone


使用 spm build 来压缩 js文件。

js使用了 seajs backbone

但是压缩之后的文件,总是缺少对 require 文件的依赖。如下面的代码就缺少对 jquery underscore 的依赖。


 define("app/test/1.0.0/main-debug", [ "backbone-debug", "./view-debug", "./common-debug", "./bootstrap-debug", "./bootstrap-datetimepicker-debug", "./collection-debug", "./model-debug", "./item-view-debug", "./detail-view-debug", "./DropDownLoading-debug" ], function(require, exports, module) {
    var Backbone = require("backbone-debug");
    var _ = require("underscore-debug");
    var $ = require("$-debug");
    var app = require("./view-debug");
    new app();
});

package.json 的代码如下:


 {
  "family": "app",
  "name": "test",
  "version": "1.0.0",
  "description": "test",
  "homepage": "",
  "author": "",
  "maintainers": [
    ""
  ],
  "repository": {
    "type": "git",
    "url": "http://192.168.200.8/group-team/meet.git"
  },
  "bugs": {
    "url": ""
  },
  "dependencies": {
    "jquery": "gallery/jquery/1.8.2/jquery"

  },
  "keywords": [],
  "licenses": "MIT",
  "spm": {
    "alias": {
    },
    "output": [
      "main.js"
    ],
    "devAlias": {

    },
    "engines": {}
  }
}

哪位朋友遇到过这种问题,麻烦帮忙解答一下。

github backbone seajs spm3

工口子的忧郁 9 years, 7 months ago

请在package.json文件中配置spm.alias,制定其他依赖别名与路径。你这样想,使用别名引用了第三方足迹,你不告诉他位置信息,当然是build后文件中是看不到文件的,但好处是使用时可以在项目配置别名,使用项目中路径版本,比如jquery,模块只是说明在使用jquery,具体版本视其环境提供

诚实可靠小郎君 answered 9 years, 7 months ago

好忧桑 ,自己顶!!!


更新

这个问题解决了,之前我的 spm-build 的版本是 0.4.1

换成 0.3.17 之后,没问题了!

擦擦擦擦- - 能不能更 一点

Meiko answered 9 years, 7 months ago

Your Answer