egoist / import-http
- четверг, 31 января 2019 г. в 00:18:01
JavaScript
Import modules from URL instead of local node_modules
Please consider donating to this project's author, EGOIST, to show your
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.
yarn add import-http --devIn 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 ~/.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-featuregit commit -am 'Add some feature'git push origin my-new-featureimport-http © EGOIST, Released under the MIT License.
Authored and maintained by EGOIST with help from contributors (list).
Website · GitHub @EGOIST · Twitter @_egoistlily