你可以通过任何喜欢或者习惯的方式安装和使用 San。

下载

直接下载

下载页面 可以获得最新以及过往版本的下载地址。

CDN

通过 unpkg,你可以无需下载,直接引用。

开发版本:

  1. <script src="https://unpkg.com/san@latest/dist/san.dev.js"></script>

生产版本:

  1. <script src="https://unpkg.com/san@latest"></script>

建议在开发环境不要用生产版本,开发版本提供了有助于开发的错误提示和警告!

NPM

在使用 san 来构建大型应用时我们推荐使用 NPM 来安装。通过它能够方便的管理依赖包,以及和社区的各种开发构建工具良好配合,构建你的应用程序。

  1. # 安装最新版本
  2. $ npm install san

使用

script

在页面上通过 script 标签引用需要的文件是常用的方式。可以引用下载下来的 San,也可以通过 CDN 引用。

  1. <!-- 引用直接下载下来的San -->
  2. <script src="san的目录/dist/san.js"></script>
  3. <!-- 引用通过NPM下载下来的San -->
  4. <script src="node_modules/san/dist/san.js"></script>

注意:在引用时,

  • 如果页面上没有 AMD 环境,将会在页面上注册全局变量 san
  • 如果页面上有 AMD 环境,将会注册为模块 san

AMD

将 San 下载下来后,通过 AMD 的方式引用 src 目录下的 main.js,可以获得灵活的模块名和整体编译的好处。但是你可能需要先配置好 packages 或 paths 项。

  1. require.config({
  2. packages: [
  3. {
  4. name: 'san',
  5. location: 'san-path/dist/san'
  6. }
  7. ]
  8. });

这个例子里,我们可以看到一个通过 AMD 管理模块的项目是怎么引用 San 的。

ESNext

在支持 ESNext 的环境中,可以直接引用

  1. import san from 'san';

San component

一个语法如下的 .san 文件,就是一个 San component

  1. <template>
  2. <div class="hello">hello {{msg}}</div>
  3. </template>
  4. <script>
  5. export default {
  6. initData () {
  7. return {
  8. msg: 'world'
  9. };
  10. }
  11. }
  12. </script>
  13. <style>
  14. .hello {
  15. color: blue;
  16. }
  17. </style>

webpack 中可以使用 san-loader 来加载 .san 文件

这个例子 里,
我们可以看到如何使用 San component 构建一个应用

开发版本 VS 生产版本

在开发中,我们推荐使用 san.dev.js(位于 san/dist/san.dev.js)。san.dev.js 提供了包括 数据校验 等辅助开发功能。这些辅助开发功能可以帮助你在更轻松、快速地定位和解决问题。

但出于性能考虑,正式的生产环境上需要移除了这些辅助开发功能。在 san 的发布包中提供了构建好的生产版本给大家使用,即 san.js(位于 san/dist/san.js)。你应当在构建应用的生产版本时使用它。

如果你使用 webpack 进行开发和构建 ,那么你可以通过在 webpack 配置添加 resolve.alias 再配合指定 NODE_ENV 来解决:

  1. {
  2. module: {
  3. loaders: [
  4. {
  5. test: /\.san$/,
  6. loader: 'san-loader'
  7. }
  8. ]
  9. },
  10. resolve: {
  11. alias: {
  12. san: process.env.NODE_ENV === 'production'
  13. ? 'san/dist/san.js'
  14. : 'san/dist/san.dev.js'
  15. }
  16. }
  17. }

最后,你可以通过添加两个 npm scripts 来使用不同的 webpack 配置:

  1. {
  2. "name": "my-san-app",
  3. "scripts": {
  4. "dev": "NODE_ENV=development webpack-dev-server --config webpack.config.js",
  5. "build": "NODE_ENV=production webpack --config webpack.config.js"
  6. }
  7. }

开始开发:

  1. npm run dev

开始构建:

  1. npm run build