## epm-plugin

该项目为EPM扩展机制插件仓库。

## 可运行命令

在项目的目录中，你可以运行：

### npm start

在开发者模式下运行该应用。打开 `http://localhost:3000` 即可在浏览器中预览。
发生改变时页面将会重载，如果代码检查有错误，将会在控制台进行提示。
在 `src/index.js` 中修改插件文件入口来调试不同的插件。

### npm test

在交互式监视模式下启动测试运行程序。

### npm run build

将生产环境使用的插件生成到 build 文件夹下，React 和 TinperNext 会作为外部依赖并不会被打包进产出。产出文件已经被压缩和混淆，同时产出 sourceMap 文件方便调试。
每个插件会被打包成一个js资源文件（和一个css文件，如果有的话）。如果使用 tnsSDK 的功能，会打包成多个js文件。

## 开发

1. 在 `src/plugin/` 目录下新建目录，目录名即为插件名。
2. 新建 bootstrap.js 文件
3. 在 bootstrap.js 文件中写一个 React 组件并导出，参考 aSmallBtn 的写法。
4. 执行 `npm start` 可以在本地调试该插件。
5. 项目支持集成 tnsSDK，如果需要，可以在 bootstrap.js 中通过 `import('./index')` 的方法引入组件并导出，在打包时会剔除外部依赖，在项目中会使用 TNS 加载的第三方依赖。

## 其它

集成了 LESS 进行 css 预编译，你可以修改为你希望使用的预编译器。

可以使用多级目录来将多个插件分类放置，编译时会查找 plugin 目录下的所有 bootstrap.js 文件作为插件的入口，插件名为 bootstrap.js 所在的目录名。
