Socket
Socket
Sign inDemoInstall

nanachi-webpack

Package Overview
Dependencies
89
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    nanachi-webpack

cli tool for nanachi


Version published
Weekly downloads
1
Maintainers
1
Created
Weekly downloads
 

Readme

Source

娜娜奇脚手架

以React方式高效开发小程序

这只是anu的一个扩展,通过实现不同的render,以支持在微信小程序,百度小程序,支付宝小程,快应用,H5, hybird上运行。

安装

npm

npm install nanachi-cli -g

yarn

yarn global add nanachi-cli

使用方式

  1. nanachi init <project-name> 创建工程
  2. cd <project-name> && npm i 安装依赖
  3. nanachi watch:[wx|bu|ali|quick] 监听构建小程序
  4. nanachi build:[wx|bu|ali|quick] 构建小程序
  5. 用微信开发工具打开当中的dist目录,自己在source目录中进行开发

注意:快应用下构建结束后,需要执行以下三步骤

  1. npm install
  2. npm run build
  3. npm run server
    详情请见快应用文档

详见 https://rubylouvre.github.io/nanachi/index.htmlhttps://github.com/RubyLouvre/anu/tree/master/packages/render/miniapp

image

nanachi api

const nanachi = require('nanachi-cli');
nanachi({
    /**
     * @Boolean
     * 是否使用watch模式,默认值:false
     */
    watch,
    /**
     * @Enum ['wx', 'ali', 'bu', 'tt', 'quick']
     * 平台,默认值:wx
     */
    platform,
    /**
     * @Boolean
     * 是否使用线上beta核心库,默认值:false
     */
    beta,
    /**
     * @Boolean
     * 是否使用最新schnee-ui,默认值:false
     */
    betaUi,
    /**
     * @Boolean
     * 是否使用压缩模式,默认值:false
     */
    compress,
    /**
     * @Object
     * 压缩图片参数(压缩率等)
     */
    compressOption,
    /**
     * @Boolean
     * 是否是huawei平台,默认值:false
     */
    huawei,
    /**
     * @Array
     * 自定义预处理loaders,默认值:[]
     */
    prevLoaders,
    /**
     * @Array
     * 自定义后处理loaders,默认值:[]
     */
    postloaders,
    /**
     * @Array
     * 自定义添加webpack module.rules规则,默认值:[]
     */
    rules,
    /**
     * @Array
     * 自定义webpack插件,默认值:[]
     */
    plugins,
    /**
     * @function complete
     * 解析完成回调
     * (err, result) => { }
     * err: 错误
     * result: webpack打包信息
     */ 
    complete
});
/**
 * compressOption:
 * {
 *  jpg: {} // 具体参考 https://github.com/imagemin/imagemin-mozjpeg/blob/master/readme.md
 *  png: {} // 具体参考 https://github.com/imagemin/imagemin-optipng/blob/master/readme.md
 *  gif: {} // 具体参考 https://github.com/imagemin/imagemin-gifsicle/blob/master/readme.md
 *  svg: {} // 具体参考 https://github.com/imagemin/imagemin-svgo/blob/master/readme.md
 * }
 */

自定义loader

用户可以使用nanachi api编译nanachi应用,同时支持自定义预处理loader和后处理loader。

compress压缩模式就是使用后处理loader实现的,链接:https://www.npmjs.com/package/nanachi-compress-loader

我们规定了loader的输入和输出格式

{
    queues: // 需要生成的文件数组,如nanachi中的js文件在微信转义中会同时生成wxml和js文件还有可能生成json文件
        [{
            code, // 生成文件内容
            type, // 生成文件类型
            path // 生成文件相对路径
        }],
    exportCode // 标准js代码,包含了文件的依赖信息,用于webpack解析文件依赖
}

nanachi config

自定义loader应用到项目中,有两种方式供选择:

  1. 在项目根目录下创建nanachi配置文件,nanachi.config.js
// nanachi.config.js
module.exports = {
    postLoaders: ['nanachi-compress-loader']
}

正常运行nanachi命令,即可将自定义配置应用到项目中

npm install nanachi-compress-loader --save-dev
nanachi build
  1. 使用nanachi api,自定义编译脚本
// build.js
const nanachi = require('nanachi-cli');

nanachi({
    platform: 'ali',
    postLoaders: ['nanachi-compress-loader']
});
node build.js

开发者交流群

411547729622_ pic

FAQs

Last updated on 06 Jun 2019

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc