spmjs / spm

Brand new static package manager.
http://spmjs.io
Other
903 stars 180 forks source link

spm3要怎么处理seajs.config #1399

Open lijialiang opened 8 years ago

lijialiang commented 8 years ago

image

jaredleechn commented 8 years ago

spm3.6之后,如果使用本地模块,使用相对路径

var a = require('../js/a.ja');

使用spm源上的模块(moment)先执行

spm install moment --save

使用时

var moment = require('moment');
wuguanghai45 commented 8 years ago

本身webpack 是支持 alias 的 只不过 spm-webpack 没有露出配置, 新版本的spm 会尝试支持么?

jaredleechn commented 8 years ago

能具体描述下alias的使用场景么? 目前spm require文件只有两种:本地文件和spm_modules的文件,不清楚这两种情形下对alias会有什么需求

lijialiang commented 8 years ago

对于一些通用本地模块,alias是一个非常友好的设置。

情景:a文件是通用工具模块,处于./js/a/文件夹下。b文件处于./js/b/文件夹下

b引用a模块,不使用alias,使用相对路径有两种方式:

  1. require('../a/a')
  2. require('./js/a/a')

两种方式下,开发者选择的方式就有可能不一样。

进而项目渐大,开发者渐多,引用a模块的模块渐多,仅靠相对路径去引用公共模块,require的情况会越来越多,路径的依赖越来越大。

倘若后期a模块因某种原因,需要移动到其他路径下,就杯具了。

alias正正解决了上述问题。

如果spm3对于这些本地模块只能使用相对路径,会失去alias存在的意义。

jaredleechn commented 8 years ago

我个人认为alias在spm3其实是个伪需求,对模块的组织我是这样想的: