使用webpack模块
Using modules with webpack
我最近开始使用Webpack作为前端,并遇到了模块的问题。
例如,我有两个模块,一个使用另一个(具体来说,它的angular-bootstrap-slider和bootstrap-slider)。angular-bootstrap-slider
初始化失败,原因是Slider
函数未定义。
现在我明白,我可以全局导出Slider
(我用jquery和angular库)或在angular-bootstrap-slider(我选择了)中导入Slider
。
我不喜欢这两个选项,因为全局导出是我想避免使用webpack的事情之一,并且在库中导入某些东西意味着改变它的代码。
那么,我是否遗漏了一些东西,或者可能有一些处理依赖关系的最佳实践?
你要找的是shimming模块
这允许你声明Slider
实际上是从模块bootstrap-slider
中导入的:
...
plugins: [
new webpack.ProvidePlugin({
'Slider': 'bootstrap-slider'
})
]
我认为你可以使用imports-loader
: https://github.com/webpack/imports-loader
为webpack导入加载器
可以用来将变量注入到模块的作用域中。这是当第三方模块依赖于global时尤其有用像$或this这样的变量是窗口对象。
相关文章:
- 如何在Webpack中从导出中排除供应商模块peerDependencies
- 通过Webpack导入模块中的图像
- Webpack通过npm将代码拆分为单独的模块,以及如何编译es6
- 无法使用Webpack加载ES6模块
- 可以'I don’我不明白;使用webpack和es6模块进行EventEmitter
- 为具有核心模块和子模块的应用程序构建Webpack
- Javascript:Webpack+Typescript+Namespace(内部模块)
- 如何使用 webpack 要求或仅从模块导入必要的导出
- webpack配置警告和错误:;模块解析失败”;
- webpack所说的XX隐藏模块是什么意思
- 从脚本标记的全局范围调用webpack模块中的函数
- webpack在全局范围内执行模块
- 无法解析模块'角度'当使用Ionic和Webpack导入ngstorage时
- 使用webpack和babel加载程序导入导出ES6模块
- 导出由 webpack 构建的模块
- 使用 webpack 和 ts-loader 重新导出 ES6 模块
- 使用 webpack css 模块的容器查询
- 需要没有 Browserify、Webpack 或 Babel 的 reactjs 模块
- webpack 1:resolve.alias 不将一个 npm 模块别名到另一个 npm 模块
- 在前端使用 ES6 npm 模块(webpack)