当前位置: 首页 > 面试题库 >

AngularJS-使用LazyLoad- Webpack动态加载脚本文件

莫选
2023-03-14
问题内容

现在,在我的index.html页面中,我有两个CDN文件的链接,一个是JS,另一个是CSS文件。

即在我的身体底部

https://somedomain.com/files/js/js.min.js

在头上

https://somedomain.com/files/css/css.min.css

但是现在,我的主页上并不需要它们,而只需要一条特定的路线。所以我一直在研究如何在路由被命中时才延迟加载这些CDN资源,即/profile只有那时?

这些不是通过bower或npm安装的,而是通过CDN URL加载的,例如jquery。如何在Angular 1和Webpack中基于路由延迟加载?


问题答案:

随您去..使用 oclazyload 使其成为可能。看看下面的代码。下方有一个pl子

我有一个名为 myApp 的模块,如下所示

angular.module('myApp', ['ui.router','oc.lazyLoad'])
    .config(function ($stateProvider, $locationProvider, $ocLazyLoadProvider) {
            $stateProvider
                .state("home", {
                    url: "/home",
                    templateUrl: "Home.html",
                    controller: 'homeCtrl',
                    resolve: { 
                        loadMyCtrl: ['$ocLazyLoad', function ($ocLazyLoad) {
                            return $ocLazyLoad.load('homeCtrl.js');
                        }]
                    }
                })
            .state("profile", {
                url:"/profile",
                templateUrl: "profile.html",
                 resolve: {
                      loadMyCtrl: ['$ocLazyLoad', function ($ocLazyLoad) {
                      return $ocLazyLoad.load('someModule.js');
                        }]
                    }
            })

    });

我还有另一个名为 someApp的 模块,如下所示

(function () {
var mynewapp=angular.module('someApp',['myApp']);

mynewapp.config(function(){

  //your code to route from here!

});
      mynewapp.controller("profileCtrl", function ($scope) {

            console.log("reached profile controller");
        });

})();

我在这里有一个现场柱塞供您演示



 类似资料:
  • 引入 Lazyload 是 Vue 指令,使用前需要对指令进行注册。 import { createApp } from 'vue'; import { Lazyload } from 'vant'; const app = createApp(); app.use(Lazyload); // 注册时可以配置额外的选项 app.use(Lazyload, { lazyComponent:

  • main.js import Vue from "vue"; import { Lazyload } from "feui"; Vue.use(Lazyload, { lazyComponent: true, //失败时显示 error: "https://i.loli.net/2018/01/29/5a6e858413275.png", //loading图 l

  • LazyLoad 懒加载 平台差异说明 App H5 微信小程序 支付宝小程序 百度小程序 头条小程序 QQ小程序 √ √ √ √ √ √ √ 基本使用 通过image参数传入图片的src路径即可 注意 由于uni-app认给了image组件的height为225px,同时也只uni-appimage组件的mode参数为widthFix时,image才会自动计算出一个高度值 覆盖默认的height

  • 本文向大家介绍vue如何实现动态加载脚本,包括了vue如何实现动态加载脚本的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了vue如何实现动态加载脚本,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 今天在研究,tinymce富文本编辑器怎样在vue中使用,然后看到其它框架上的使用方法,它是动态加载tinymce脚本的,若果在本地引入静态

  • 问题内容: 我有一个现有页面,需要在其中添加一个可以动态加载的控制器的角度应用程序。 这是一个片段,它根据API和我发现的一些相关问题实现了关于如何完成操作的最佳猜测: JSFiddle。请注意,这是对实际事件链的简化,在以上各行之间有各种异步调用和用户输入。 当我尝试运行上述代码时,由$ compile返回的链接器将抛出:。如果我正确地理解了引导程序,那么它返回的注射器应该知道该模块,对吗? 相

  • 问题内容: 我的代码在构造后的某个地方: 我尝试了这个: 项目结构 : 题: webpack如何复制到? 问题答案: 您用于请求JSON文件,而这只会在运行时发生。此外,webpack只处理导入的任何内容。您希望它可以处理函数的参数,但是如果webpack这样做,则函数的每个参数都将被视为模块,这会破坏该函数的其他用途。 如果您希望装入程序启动,则可以导入文件。 您还可以导入JSON并直接使用它,