使用 webpack 打包 CSS

Using webpack to bundle CSS

我有一些 NPM 模块正在尝试与 webpack 捆绑在一起,这样我就不必使用 CDN。

我能够弄清楚如何使 .js 文件正常工作,但我不明白如何为相同的模块获取 .css 文件。

例如我 Bootstrap 有一个 NPM 模块。在我的 entry.js 文件中,我有 require('bootstrap'); 但这只给我 javascript 文件。

我看过其他 npm 模块,如 bootstrap-webpack 等,但我不明白为什么我需要下载另一个模块,如果我已经有了 node_modules 的 bootstrap 部分。与 'font-awesome'、'animate.css'、'select2'

等内容相同

我错过了什么?

据我所知,Bootstrap 支持 commonJS 模块加载器。所以你可以使用 require().

加载 bootstrap js 文件

当你使用 require('bootstrap') 时,一个 bootstrap 的入口文件被加载,然后入口文件加载库的另一个文件部分。 (实际上bootstrap入口文件只加载一个文件/dist/js/bootstrap.js)[查看官方] repo(https://github.com/twbs/bootstrap/tree/master/dist/js)).

在此过程中,如果bootstrap使用require('some.css')加载css,webpack尝试加载css。但是 require('some.css') 不是通用方法。如果没有 webpack 或 browserify 或其他构建系统,css 无法通过 require() 加载。这就是为什么你必须需要 bootstrap-webpack.

此外,bootstrap 不仅可以在 webpack 中使用,还可以在 requirejs(AMD) 或 <script> 标签等常见环境中使用。所以你必须手动加载 css 或通过 bootstrap-webpack.