Import modules from URL instead of local node_modules
Please consider donating to this project's author, EGOIST, to show your ❤️ and support.
Imports source code URLs! Like <script type="module">
and Deno but implemented as a webpack/Rollup plugin. Embracing the future :)
import template from 'https://unpkg.com/lodash-es/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.
yarn add import-http --dev
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.
In your rollup.config.js
:
export default {
plugins: [require('import-http/rollup')()]
}
Resources will be fetched at the very first build, then the response will be cached in ~/.cache/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.
git checkout -b my-new-feature
git commit -am 'Add some feature'
git push origin my-new-feature
import-http © EGOIST, Released under the MIT License.
Authored and maintained by EGOIST with help from contributors (list).
Website · GitHub @EGOIST · Twitter @_egoistlily