Skip to content
This repository has been archived by the owner on Aug 15, 2018. It is now read-only.

spm3要怎么处理seajs.config #1399

Open
lijialiang opened this issue Nov 5, 2015 · 5 comments
Open

spm3要怎么处理seajs.config #1399

lijialiang opened this issue Nov 5, 2015 · 5 comments

Comments

@lijialiang
Copy link

image

@jaredleechn
Copy link
Member

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

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

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

spm install moment --save

使用时

var moment = require('moment');

@wuguanghai45
Copy link

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

@jaredleechn
Copy link
Member

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

@lijialiang
Copy link
Author

对于一些通用本地模块,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
Copy link
Member

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

  • 通用的工具模块(组件代码 eg: dialog)发布到spm源上,如果有保密性要求可以参考spmjs.io自己搭建spm源,使用时直接require('a')
  • 使用通用工具模块的代码(业务代码 eg: myHomePage)放在本地,使用相对路径require('../myHomePage')

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants