国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

一日一技:如何在瀏覽器中使用 Npm包?

系統 瀏覽器
我們知道,Python的第三方庫一般可以使用pip來安裝。如果代碼比較簡單,我們甚至可以把第三方庫的代碼復制下來,放到項目里面導入。

我們知道,Python的第三方庫一般可以使用pip來安裝。如果代碼比較簡單,我們甚至可以把第三方庫的代碼復制下來,放到項目里面導入。

但由于JavaScript生態里面,有Node.js這個東西,這就導致第三方庫有兩種不同的導入方式。如果我們要做一個網站,我們通常會在HTML中,使用<script>標簽引入.js文件,例如:

<script src="https://cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.min.js"></script>


這樣導入了.js文件以后,里面的代碼在網頁加載完成后就會運行。

但在Node.js生態里面,第三方包一般需要使用npm安裝,然后在代碼里面通過require導入。最后再用webpack打包編譯成能直接在瀏覽器中運行的JavaScript代碼。

如果我找到一個第三方的包,它只提供了npm版本,沒有提供直接在瀏覽器中導入的版本怎么辦?

舉個例子,我想把CSS Selector轉換成XPath。在Github上面,可以搜索到很多這種第三方包,例如:featurist/css-to-xpath: Convert CSS selectors to XPaths, in JavaScript[1] 或者sergeidyga/cssxpath[2]。

但你會發現,這些包都只提供npm安裝的版本,沒有辦法直接在瀏覽器中通過<script>標簽導入。如果我想做一個如下圖所示的簡單網頁,難道我還要用webpack去編譯?

在瀏覽器能運行的JavaScript中,require關鍵字都是不存在的,如下圖所示。因此,我們甚至沒有辦法把包里面的代碼復制出來用:

遇到這種問題怎么辦呢?難道我們需要人工一行一行去改寫這個包里面的代碼讓它能直接在瀏覽器運行?還是必須用webpack來打包編譯?其實我們有一個方法,可以把npm版本的包轉換成瀏覽器能運行的包。雖然這個辦法還是要依賴Node.js和npm,但是非常簡單。你完全不需要知道webpack是什么就可以完成。

以cssxpath為例,我們首先用npm安裝它:


npm i cssxpath

然后,我們寫一個main.js文件,只需要兩行代碼:


var cssxpath = require('css-to-xpath')
window.cssxpath = cssxpath

接下來,使用npm全局安裝browserify:


npm install -g browserify

安裝完成以后,執行命令:


browserify main.js -o bundle.js

命令運行完成以后,會生成一個bundle.js文件。現在我們就可以把這個文件和HTML代碼放在一起,通過<script>標簽導入了:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Css Selector 轉 XPath</title>
<script src="https://cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.min.js"></script>
<script src="bundle.js"></script>
</head>
<body>
<div class="app">
<h1>Css Selector轉XPath</h1>
<div>
<input type="text" class="selector" style="width: 500px">
<button class="translate" x-on:click="translate(selector)">轉換</button>
</div>
<div>
<h4>轉換結果:</h4>
<span class="result"></span>
</div>
</div>
<script>
$('.translate').on('click', function() {
selector = $('.selector').val()
result = window.cssxpath(selector)
$('.result').text(result)
})

</script>
</body>

</html>


運行效果如下圖所示:


在main.js中,我們定義了window.cssxpath = cssxpath,所以,在HTML代碼里面,我們就可以通過window.cssxpath(selector)來使用它了。

參考文獻

[1] featurist/css-to-xpath: Convert CSS selectors to XPaths, in JavaScript: https://github.com/featurist/css-to-xpath

[2] sergeidyga/cssxpath: https://github.com/sergeidyga/cssxpath

本文轉載自微信公眾號「未聞Code」,可以通過以下二維碼關注。轉載本文請聯系未聞Code公眾號。

責任編輯:武曉燕 來源: 未聞Code
相關推薦

2021-12-15 22:04:11

瀏覽器重復登錄

2021-12-16 19:04:26

瀏覽器SeleniumChrome

2020-05-19 13:55:38

Python加密密碼

2021-11-12 05:00:43

裝飾器代碼功能

2021-10-15 21:08:31

PandasExcel對象

2025-05-28 03:15:00

Scrapy數據sleep

2024-08-27 22:08:13

2024-07-30 08:16:18

Python代碼工具

2023-10-28 12:14:35

爬蟲JavaScriptObject

2022-06-28 09:31:44

LinuxmacOS系統

2024-07-30 08:11:16

2022-03-12 20:38:14

網頁Python測試

2023-07-07 09:04:21

JSON信息微信

2021-05-08 19:33:51

移除字符零寬

2024-11-11 00:38:13

Mypy靜態類型

2021-04-27 22:15:02

Selenium瀏覽器爬蟲

2021-08-01 15:26:59

協程Asyncio并發數

2024-10-16 21:47:15

2020-12-11 06:30:00

工具分組DataFrame

2021-04-12 21:19:01

PythonMakefile項目
點贊
收藏

51CTO技術棧公眾號

欧美xxxxxxxx| 国产香蕉在线| 欧美又大又粗又长| 国产一区二区黄色| 99re在线播放| 国产 高清 精品 在线 a| 69久久夜色精品国产7777| 亚洲国产91色在线| 亚洲成人高清在线| av高清不卡在线| 久久你懂得1024| 西野翔中文久久精品字幕| 国产成人精选| 青青草在线免费视频| 欧美一区二区视频17c | 国产精品亚洲综合一区在线观看| 国产精品一级在线观看| 亚洲一级免费观看| 日本一区二区免费高清视频| 国产免费一区二区三区在线能观看 | 欧美日韩一区二区三区在线| 欧美不卡一区二区三区| 欧美午夜性色大片在线观看| 欧美一区二区三区视频在线| 在线成人高清不卡| 亚洲久久久久久久久久久| 国产精品va在线播放我和闺蜜| 久久精品免费电影| 亚洲男人第一网站| 国产一区二区三区丝袜| 精品国产免费久久| 亚洲国产精品ⅴa在线观看| 久久国产日本精品| 在线观看视频91| 2021国产精品视频| 欧美在线免费看| 亚洲欧洲另类精品久久综合| 亚洲 国产 日韩 综合一区| 欧美日韩国产小视频| 欧美激情视频给我| 韩剧1988在线观看免费完整版| 天堂成人国产精品一区| www.久久久久.com| 欧美日韩精品一区| 亚洲九九九在线观看| 99re在线精品| 同性恋视频一区| 日韩在线无毛| 日韩精品欧美专区| 日韩中文视频免费在线观看| 国产精品色眯眯| 国产精品久久久久久久久久10秀| 三区在线观看| 亚洲激情啪啪| 久久亚洲国产成人| 亚洲国产一区视频| 亚洲二区在线| 亚洲成人av观看| 国产精品影视| 久久香蕉综合色| 精品国产拍在线观看| 亚洲一区在线看| 久久综合图片| 日韩三级不卡| 国产三级视频在线播放线观看| 中文字幕av日韩精品| 91精品国产高清久久久久久91 | 在线观看a视频| 一区不卡字幕| 性色av香蕉一区二区| 99re66热这里只有精品4| 日产国产高清一区二区三区 | 成人h动漫精品一区二区| 成人免费xxxxx在线观看| 黄色片视频在线免费观看| 三级在线免费看| 国内激情视频在线观看| 亚洲一区二区三区四区| 农村妇女一区二区| 国产精品久久久久国产a级| 欧美三级视频在线观看| 成人免费av网站| 国产精品成人一区二区不卡| 91在线超碰| 国产一级性片| 亚洲免费久久| 欧美一性一乱一交一视频| 欧美日本视频在线| 国产亚洲一区二区三区在线观看| 黄色在线成人| www一区二区三区| 1024视频在线| 日本激情视频在线播放| 日韩高清国产精品| 国产精品18久久久久久麻辣| 亚洲精品98久久久久久中文字幕| 亚洲另类在线制服丝袜| 久久精品av麻豆的观看方式| av一区二区在线播放| 欧美xx视频| 久草在线免费福利资源| 人妻无码视频一区二区三区| 欧美精品一区二区三区在线四季| 欧美性在线视频| 精品亚洲一区二区三区四区五区| 亚洲综合免费观看高清完整版在线 | 国产黄色在线免费观看| 亚洲午夜精品久久久久久人妖| 99久久久久国产精品免费| 少妇高潮久久77777| 免费看成人哺乳视频网站| 综合色中文字幕| 99在线首页视频| 日韩欧美成人一区| 亚洲午夜激情av| ww亚洲ww在线观看国产| 视频一区在线播放| 午夜激情久久| 另类在线视频| 韩国精品视频在线观看 | 最近2019年中文视频免费在线观看| 一区二区三区在线观看国产| 国产一区二区视频在线| 欧美午夜不卡| 中文字幕精品影院| 亚洲人成777| 在线观看的黄色| 久草免费在线| 日本免费一区二区三区最新| 国产91白丝在线播放| 免费毛片小视频| 久久福利一区二区| 亚洲精品久久久久久一区二区| 国产福利久久| 国产精品免费观看在线| 国内精品400部情侣激情| 最近2019中文免费高清视频观看www99| 日韩欧美视频一区| 欧美日韩mp4| 欧美视频一区二区在线观看| 亚洲成人综合网站| 亚洲私人黄色宅男| 国产精品乱子久久久久| 99久久国产综合精品色伊| 国产精品亚洲一区二区三区在线| 欧美在线综合| 中日韩男男gay无套| 在线国产日韩| 99热这里只有精品8| 国模吧视频一区| 欧美日韩1区| 欧美日本不卡| 亚洲成人精选| 久久久国产精品| 日韩免费高清| 国产欧美日韩一区二区三区四区| 久久av国产紧身裤| 高清一区二区三区| 久久成人福利| 一区二区小说| 精品国产美女| 91精品秘密在线观看| 国产精品久久久久久久久久10秀| 国产精品成人a在线观看| 天天做天天爱综合| 欧美日韩国产免费观看| 激情综合自拍| 亚洲伊人网站| 另类人妖一区二区av| 国内久久精品视频| 成人av资源在线观看| 久久久久久久精| 国产精品白丝在线| 亚洲777理论| 欧美视频在线观看一区二区| 91精品国产入口在线| 精品成a人在线观看| 亚洲精品在线视频| 久久精品视频导航| 97视频在线播放| 91精品久久久久久久久中文字幕| 亚洲xxx视频| 日韩av电影免费播放| 欧美少妇在线观看| 国产精品无码专区av在线播放 | 亚洲欧美色图片| 永久555www成人免费| 欧美成人剧情片在线观看| 久久久国产影院| 国产中文精品久高清在线不| 国产99在线|中文| 午夜影院在线免费观看| 91天堂在线| 高清性色生活片在线观看| a在线免费观看| 欧美黑人粗大| 91欧美极品| 亚洲91精品| 秋霞电影一区二区| 91老司机福利 在线|