Coder Social home page Coder Social logo

1977474741 / vue-inset-loader Goto Github PK

View Code? Open in Web Editor NEW
60.0 2.0 13.0 13 KB

编译阶段在sfc模板指定位置插入自定义内容

Home Page: https://www.npmjs.com/package/vue-inset-loader

JavaScript 100.00%
uniapp uni-app taro mpvue wepy webpack loader

vue-inset-loader's Introduction

vue-inset-loader

编译阶段在sfc模板指定位置插入自定义内容,适用于webpack构建的vue应用,常用于小程序需要全局引入组件的场景。(由于小程序没有开放根标签,没有办法在根标签下追加全局标签,所以要使用组件必须在当前页面引入组件标签)

第一步 安装

npm install vue-inset-loader --save-dev

第二步 vue.config.js注入loader

module: {
    rules: [
      {
        test: /\.vue$/,
        use:{
            loader: "vue-inset-loader"
            // // 针对Hbuilder工具创建的uni-app项目
            // loader: path.resolve(__dirname,"./node_modules/vue-inset-loader")
            // // 支持自定义pages.json文件路径
            // options: {
            //     pagesPath: path.resolve(__dirname,'./src/pages.json')
            // }
        }
      }
    ]
},

第三步 pages.json配置文件中添加insetLoader

"insetLoader": {
    "config":{
        "confirm": "<BaseConfirm ref='confirm'></BaseConfirm>",
        "abc": "<BaseAbc ref='BaseAbc'></BaseAbc>"
    },
    // 全局配置
    "label":["confirm"],
    "rootEle":"div"
},
"pages": [
    {
        "path": "pages/tabbar/index/index",
        "style": {
            "navigationBarTitleText": "测试页面",
            // 单独配置,用法跟全局配置一致,优先级高于全局
            "label": ["confirm","abc"],
            "rootEle":"div"
        }
    },
]

配置说明

  • config (default: {}) 定义标签名称和内容的键值对
  • label(default: []) 需要全局引入的标签,打包后会在所有页面引入此标签
  • rootEle(default: "div") 根元素的标签类型,缺省值为div,支持正则,比如匹配任意标签 ".*"

labelrootEle 支持在单独页面的style里配置,优先级高于全局配置

vue-inset-loader's People

Contributors

1977474741 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

vue-inset-loader's Issues

为什么在page.json加了insetLoader反而报错项目都跑不起来

20:04:19.619 Uncaught Error: Module build failed (from ./node_modules/@dcloudio/webpack-uni-pages-loader/lib/index.js):
Error: uni-app-compiler: Unexpected token } in JSON at position 1189
at parseJson (/Users/qinhonglin/Desktop/project/ShakeMoniterApp(1)/node_modules/@dcloudio/uni-cli-shared/lib/json.js:21:13)
at parsePagesJson (/Users/qinhonglin/Desktop/project/ShakeMoniterApp(1)/node_modules/@dcloudio/uni-cli-shared/lib/pages.js:42:27)
at Object. (/Users/qinhonglin/Desktop/project/ShakeMoniterApp(1)/node_modules/@dcloudio/webpack-uni-pages-loader/lib/index-new.js:73:19)
at Object. (/Users/qinhonglin/Desktop/project/ShakeMoniterApp(1)/node_modules/@dcloudio/webpack-uni-pages-loader/lib/index.js:57:35) at app-view.js:9
20:04:19.634 reportJSException >>>> exception function:createInstanceContext, exception:white screen cause create instanceContext failed,check js stack ->Uncaught Error: Module build failed (from ./node_modules/@dcloudio/webpack-uni-pages-loader/lib/index.js):
Error: uni-app-compiler: Unexpected token } in JSON at position 1189
at parseJson (/Users/qinhonglin/Desktop/project/ShakeMoniterApp(1)/node_modules/@dcloudio/uni-cli-shared/lib/json.js:21:13)
at parsePagesJson (/Users/qinhonglin/Desktop/project/ShakeMoniterApp(1)/node_modules/@dcloudio/uni-cli-shared/lib/pages.js:42:27)
at Object. (/Users/qinhonglin/Desktop/project/ShakeMoniterApp(1)/node_modules/@dcloudio/webpack-uni-pages-loader/lib/index-new.js:73:19)
at Object. (/Users/qinhonglin/Desktop/project/ShakeMoniterApp(1)/node_modules/@dcloudio/webpack-uni-pages-loader/lib/index.js:57:35)
at 1 (app-service.js:10:51)
at l (app-service.js:1:573)
at 0 (app-service.js:6:60)
at l (app-service.js:1:573)
at t(app-service.js:1:431)
at r (app-service.js:1:294)
at (app-service.js:2:49)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.