Webpack 未构建 css 文件
Webpack not building css file
所以我按照 http://webpack.github.io/docs/tutorials/getting-started/ 上的教程进行操作,但卡在了 css 样式加载器步骤。这是我的 entry.js:
require("!style!css!./style.css");
document.write(require("./content.js"))
这是content.js:
module.exports = "It works from content.js";
这是style.css:
body{
background: yellow;
}
在此之后,我是运行这个命令:
webpack ./entry.js bundle.js
我收到这个错误:
Version: webpack 1.13.0 Time: 866ms
Asset Size Chunks Chunk Names bundle.js 10.1 kB 0 [emitted] main [0] ./entry.js 115 bytes {0} [built] [4]
./content.js 45 bytes {0} [built]
+ 3 hidden modules
ERROR in ./~/css-loader!./style.css Module build failed:
ReferenceError: Promise is not defined
at LazyResult.async (/var/www/html/webpack/node_modules/css-loader/node_modules/postcss/lib/lazy-result.js:157:31)
at LazyResult.then (/var/www/html/webpack/node_modules/css-loader/node_modules/postcss/lib/lazy-result.js:79:21)
at processCss (/var/www/html/webpack/node_modules/css-loader/lib/processCss.js:198:5)
at Object.module.exports (/var/www/html/webpack/node_modules/css-loader/lib/loader.js:24:2) @
./~/style-loader!./~/css-loader!./style.css 4:14-73
如何解决这个问题?
如评论中所述,您的 Node 版本非常旧(事实上,对 v0.10.x 的支持将在 10 月份停止)。直到 Node v4 才添加对本机 JavaScript Promise
对象的支持,正如您发布的错误消息所建议的那样,css-loader
在幕后使用了这些对象。
所以这个问题唯一真正的解决方案是更新 Node.目前有两个版本可供选择; v4 是最稳定的,但缺少一些更新的功能,而 v6 具有最新的功能,但可能 buggy/less 得到更好的支持。
所以我按照 http://webpack.github.io/docs/tutorials/getting-started/ 上的教程进行操作,但卡在了 css 样式加载器步骤。这是我的 entry.js:
require("!style!css!./style.css");
document.write(require("./content.js"))
这是content.js:
module.exports = "It works from content.js";
这是style.css:
body{
background: yellow;
}
在此之后,我是运行这个命令:
webpack ./entry.js bundle.js
我收到这个错误:
Version: webpack 1.13.0 Time: 866ms Asset Size Chunks Chunk Names bundle.js 10.1 kB 0 [emitted] main [0] ./entry.js 115 bytes {0} [built] [4] ./content.js 45 bytes {0} [built] + 3 hidden modules
ERROR in ./~/css-loader!./style.css Module build failed: ReferenceError: Promise is not defined at LazyResult.async (/var/www/html/webpack/node_modules/css-loader/node_modules/postcss/lib/lazy-result.js:157:31) at LazyResult.then (/var/www/html/webpack/node_modules/css-loader/node_modules/postcss/lib/lazy-result.js:79:21) at processCss (/var/www/html/webpack/node_modules/css-loader/lib/processCss.js:198:5) at Object.module.exports (/var/www/html/webpack/node_modules/css-loader/lib/loader.js:24:2) @ ./~/style-loader!./~/css-loader!./style.css 4:14-73
如何解决这个问题?
如评论中所述,您的 Node 版本非常旧(事实上,对 v0.10.x 的支持将在 10 月份停止)。直到 Node v4 才添加对本机 JavaScript Promise
对象的支持,正如您发布的错误消息所建议的那样,css-loader
在幕后使用了这些对象。
所以这个问题唯一真正的解决方案是更新 Node.目前有两个版本可供选择; v4 是最稳定的,但缺少一些更新的功能,而 v6 具有最新的功能,但可能 buggy/less 得到更好的支持。