GitHub - egoist/import-http: Import modules from URL instead of local node_modul...
source link: https://github.com/egoist/import-http
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
README.md
Please consider donating to this project's author, EGOIST, to show your ❤️ and support.
Introduction
-
Imports source code URLs! Like
<script type="module">
and Deno but implemented in webpack. Embracing the future :)import template from 'https://unpkg.com/lodash/template' console.log(template(`Hello <%= name %>`)({ name: 'EGOIST' }))
Remote code is fetched and cached on first build, and never updated until you use the
reload
option. See more about Caching. -
No more
node_modules
bloat, no dependency to install.
Install
yarn add import-http --dev
Usage
Webpack
In your webpack.config.js
:
const ImportHttpWebpackPlugin = require('import-http/webpack') module.exports = { plugins: [new ImportHttpWebpackPlugin()] }
That's it, try following code:
import React from 'https://unpkg.com/react' import Vue from 'https://unpkg.com/vue' console.log(React, Vue)
Run webpack and it just works.
Rollup
In your rollup.config.js
:
export default { plugins: [require('import-http/rollup')()] }
Caching
Resources will be fetched at the very first build, then the response will be cached in ~/.import-http
dir. You can use the reload
option to invalidate cache:
const ImportHttpWebpackPlugin = require('import-http/webpack') module.exports = { plugins: [ new ImportHttpWebpackPlugin({ reload: process.env.RELOAD }) ] }
Then run RELOAD=true webpack
to update cache.
Contributing
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request :D
Author
import-http © EGOIST, Released under the MIT License.
Authored and maintained by EGOIST with help from contributors (list).
Website · GitHub @EGOIST · Twitter @_egoistlily
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK