新手问题 webpacker bootstrap eot 解析错误

Jesse_Fan · 2017年08月28日 · 最后由 zouyu 回复于 2018年04月12日 · 975 次阅读

现在是在pack/pack下有个app.css 这个文件里@import "bootstrap/dist/css/bootstrap.min.css"; 然后webpack-dev-server 报错是 ERROR in ./app/frontend/packs/css/application.css Module build failed: ModuleNotFoundError: Module not found: Error: Can't resolve '../fonts/glyphicons-halflings-regular.eot' in '/Users/jesse/WorkBench/my611230/app/frontend/packs/css'

然后我看了下loaders目录下面有个叫做assets文件有在用file-loader处理一些字体文件的啊? const { env, publicPath } = require('../configuration.js')

module.exports = { test: /.(jpg|jpeg|png|gif|svg|eot|ttf|woff|woff2)$/i, use: [{ loader: 'file-loader', options: { publicPath, name: env.NODE_ENV === 'production' ? '[name]-[hash].[ext]' : '[name].[ext]' } }] } 是这个文件assets文件options里面需要格外配置一些东西吗?

共收到 5 条回复

代码排版

简单的来说,BS 是不源生支持 Webpack 的(即使是最新的 4 beta),特别是你用的是 BS 3.x 最后一次更新两年前,那时候还不存在 Webpack 呢,当然你说的问题显然也是有解的,但是不建议你折腾了。

最简单的方法是,既然 BS 4 beta 已经发布,不妨直接用新版,官方也给出了如何使用 Webpack 的文档 https://getbootstrap.com/docs/4.0/getting-started/webpack/

jasl 回复

我觉得rails混合webpacker真心的头昏脑胀的 而且配置一点都不自由 我现在想可以不可以rails 还是用以前的pipeline 然后我前端自己搭node写webpack 自己编译打包好的文件直接送到app/assets 里 还是用以前的老方法加载js和css ,而且我发现webpacker的yarn连webpack的loader文件都安装在项目依赖里面,这个不是应该在开发的依赖里面吗?真的再次感觉webpakcer的不成熟

Jesse_Fan 回复

Webpacker 只是包装了一下 webpack 那玩意难用得问前端社区咋想的... 上周研究一通宵,我也晕晕的...不过只能说看了 sprockets(Assets pipeline 背后的技术)的进展,只能说要提早接受 webpack,当然前端要是又自我革命,那只能怪 DHH 看走眼了吧。

你提的问题(可能)需要用 context.require 解决,简单来说就是webpack只会预处理在 js(entry)中 require 的资源。

此外,基于这个原理,简单处理下可以让 webpacker 完全替代掉 assets pipeline,但我最近很没空所以等 RubyConf结束可以分享一下子

今年 重用webpack感觉比我开始用的时候简单了很多,今天看webpacker,感觉和webpack相比真是复杂啊

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册