有没有一种方法可以在Node应用程序中使用Webpack加载器/在Webpack环境中运行Node应用程序?如何在Node应用程序中使用Webpack加载器?
例如我有一个webpack配置有一个样式加载器。在我的节点程序,我做到以下几点:
import style from 'style.css'
console.log(style.someClass)
我想喜欢$ node app.js
有没有一种方法可以在Node应用程序中使用Webpack加载器/在Webpack环境中运行Node应用程序?如何在Node应用程序中使用Webpack加载器?
例如我有一个webpack配置有一个样式加载器。在我的节点程序,我做到以下几点:
import style from 'style.css'
console.log(style.someClass)
我想喜欢$ node app.js
的WebPack装载机运行它不是transpilers或解释,他们简单的收集资产,然后处理掉的东西像SASS或文本连接器;在Webpacks环境的范围内。
因此,它是不可能重用他们在你想要的方式,因为当你当然可以进口,并呼吁他们(他们还是功能+类),它们没有转换的CSS JSON对象(他们不要这样做),正如你在你想要的例子中写的那样。
它看起来像你只需要一个JS实现一个css解析器 - 看看https://github.com/reworkcss/css
你应该能够创建一个编译目标,你可以通过简单地调用node output.js
这最终运行node
环境将立即执行入口点模块。
请注意,如果您使用的是较新版本的Node.js,Webpack不支持ES2015模块语法,所以您必须为Node.js配置Babel以及transform the modules。
我有一个想法,可能工作的基础上,Webpack NodeJS API。如果我们把我们希望能够使用的WebPack环境(与配置的模块加载器)插入模块的代码:
appModule.js:
import style from 'style.css'
console.log(style.someClass)
并以下列require
它:
app.js:
import Webpack from 'webpack'
import MemoryFS from 'memory-fs'
...
webpackConfig.entry = 'appModule.js'
webpackConfig.output = 'appModule-out.js'
let compiler = Webpack(webpackConfig)
let mfs = new MemoryFS()
compiler.outputFileSystem = mfs
compiler.run(function (err, stats) {
require(webpackConfig.output)
})
也许它不会工作,因为需要查找该物理FS输出......我们能否require
从内存FS?我还没有尝试过 - 任何想法?
我要找的东西,使我在的WebPack环境中运行的代码块。我不是在寻找特定的CSS加载器,这只是一个例子。但它看起来像一个的WebPack环境中运行代码的唯一方法就是用的WebPack运行它:'$的WebPack app.js' – haxpanel