1. 程式人生 > >在Angular專案動態引入JS模組

在Angular專案動態引入JS模組

背景

由於Angular專案預設使用ts作為開發語言,但是Angular本身是一個新的框架,導致很多好用的js庫都沒有對應的ts版本。所以在開發angular專案的時候存在Angular專案的場景。

下面以引入jquery為例,介紹兩種方法:

方法一

直接在應用入口index.html使用script方式引入:

<script src="path/jquery.js"></script>

這種方法的特點:
1、全域性可以使用;
2、存在冗餘,可能只有個別的模組使用到jquery;
3、在入口頁引入的話,順序載入會影響首頁渲染的速度;

方法二

允許typescript編譯器使用編譯js檔案,並使用模組載入器動態引入:



在angular專案中,修改tsconfig.json檔案:

compilerOptions.allowJs = true;



下載jquery.js放入專案目錄下的asserts;



確保專案目錄下的.angular-cli.json檔案,在apps.asserts陣列中存在”asserts”;



由於jquery本身預設支援commomJs模組載入方式,所以可以在任何需要使用jquery的元件中直接載入即可:

import * as $ from "../vendors/jquery.min.js";

console.log($("body").height());



方法二的特點:

1、動態載入,按需載入,不存在冗餘;
2、更加ts/es6;

相關推薦

Angular專案動態引入JS模組

背景 由於Angular專案預設使用ts作為開發語言,但是Angular本身是一個新的框架,導致很多好用的js庫都沒有對應的ts版本。所以在開發angular專案的時候存在Angular專案的場景。 下面以引入jquery為例,介紹兩種方法: 方法一

專案引入JS檔案中的方法

在單個的Vue檔案中,寫入一些體積比較大的方法,顯得很累贅,就把這些放到一個JS中,然後再引入 引入的過程中出現了一些小問題,比如我們在 src/publicMethod/tool.js中,寫入了一個方法 //宣告一個方法 function test(){ ... } //將其暴露

動態引入js檔案

<template> <section class="idx-main"> <div v-show="templateIndex==1" class="search-box"> <div class="row-

JS動態引入js、CSS動態建立script/link/style標籤 JS動態引入js、CSS動態建立script/link/style標籤

JS動態引入js、CSS動態建立script/link/style標籤 轉:https://www.cnblogs.com/henuyuxiang/p/6215706.html 一.動態建立link方式 我們可以使用link的方式.如下程式碼所示.

如何動態引入py模組

最近有個需求,有一批不定數量的搜尋指令碼,需要動態引入後遍歷引用 現在根目錄建立lib 資料夾,然後在資料夾裡面建立兩個檔案 lib1.py 和 lib2.py  然後在兩個 .py 檔案中寫入 print("i am 1") 和 print("i am 2")

javascript 動態引入css js

src 導入 styles bsp js文件 nbsp var i++ script include css and js/** * 導入CSS文件 */ for(var i = 0; i < common_css_files.length; i++){ doc

把圖片公式轉化為文字內容。vue專案引入MathJax.js

這是個圖片的公式,有img標籤引入。 我們想要轉成下面的效果:   在vue專案中引入MathJax.js 首先在index.html頁面  <script type="text/javascript" src="https://cdn.ma

webpack使用不同的js語法規範引入打包模組

編寫app.js // es module 將sum檔案引入到app.js裡面來 import sum from "./sum" //common.js 語法引入minus.js檔案 var minus = require('./minus') //AMD 語法引入muti.js檔案 r

動態引入的外部 JS 檔案在各瀏覽器中的載入順序不一致問題解決

標準參考 無。 問題描述 頁面開發過程中,為了避免頁面載入時引入過多外部 JS 檔案,導致阻塞頁面內容下載及渲染的情況出現。將會採用頁面內容載入完成後,動態載入外部 JavaScript 檔案的方法來解決此類問題。但是,需要注意的是,常用動態插入外部指令碼檔案的方法在各瀏覽器中的執行順序

關於在Eclipse中spring專案類的動態引入

在eclipse中建立spring專案,使用spring Webflux中的Router Function技術進行動態引入 如下面的程式碼進行動態引入 @Bean RouterFunction<ServerResponse> userRouter(UserHandler h

angular專案仿照案例程式碼新增一個模組

今天準備仿照angular官網案例中的模組,然後自己增加一個模組。 參照物件是專案中的heros模組,右下圖是VSCode中的目錄結構:      從程式碼結構看,官方例項中一個基本模組包含如下內容: 1. XX-detail   

Spring Boot基礎教程 ( 一 ) :基礎專案構建,引入web模組,完成一個簡單的RESTful API

簡介 在您第1次接觸和學習Spring框架的時候,是否因為其繁雜的配置而退卻了?在你第n次使用Spring框架的時候,是否覺得一堆反覆黏貼的配置有一些厭煩?那麼您就不妨來試試使用Spring Boot來讓你更易上手,更簡單快捷地構建Spring應用! Spring Boot

springboot專案中使用thymeleaf模板引擎引入js庫失效

js資原始檔所處位置: 在html檔案引用js庫 <script src="../static/scripts/jquery-1.7.2.min..js">

react專案實戰(許可權模組開發八)js檔案分開打包

才開發幾個介面就發現打包出的index.js檔案就有700多kb了,由於部分外掛的js檔案是不會變化的,單獨打包可以充分利用瀏覽器的快取功能。 第一步:在專案跟目錄下面新增一個webpack.config.js檔案 第二步:為了將原有的js分開打,需要修

vue.js和webpack專案引入jquery等第三方外掛的方法總結

在vue.js中也可以使用依賴dom的第三方外掛, 比如jquery 引入jquery: 第一種,在模板頁中用script標籤引入jquery,不需要npm,在webpack.base中配置下面的忽略項,注意此種方式不能和plugin外掛形式同時使用, 此種方法優點是不需

easyUI:線上引入js、css及html動態拼接tree做法

一、easyUI:線上引入js、css<link rel="stylesheet" type="text/css" href="http://www.jeasyui.net/Public/js/easyui/themes/default/easyui.css">

maven多module專案中千萬不要引入其他模組的單元測試程式碼

本文出處:http://blog.csdn.net/chaijunkun/article/details/35796335,轉載請註明。由於本人不定期會整理相關博文,會對相應內容作出完善。因此強烈建議在原始出處檢視此文。 這兩天一直在整理一些舊的程式碼,將原來的混亂東

Maven多模組專案動態打包(SpringMVC資料來源動態配置)

開發工具:Intellij IDEA。 專案框架:SpringMvc 技術:Maven Profile 專案目錄: manager是聚合工程,剩下的manager-*是模組,其中manager-web打包方式是war。 動態釋出配置在manager-web中進行,不涉及其

在Vue專案引入D3.js

使用Vue-CLI ,且適合在單檔案元件.vue的情況下引入D3.js 1. vue-cli安裝 npm install -g vue-cli 2. 專案名初始化 vue init webpack projectName projectNamet為專案名。 3. 安裝

Angular專案中想要引入第三方外掛,需要怎麼做?

方法1: 在.angular-cli.json 檔案中找到script欄位,在陣列中新增要引入的所有js檔案    “script” :[“...”]   在需要用該外掛的元件中--.ts 檔案中 做如下宣告: declare var $ : any; 在ngOnIni