从脚本中与 webpack 捆绑
Bundling with webpack from script
我正在使用 webpack 将我的 Javascript 文件捆绑到我的项目中:
webpack --config myconfig.webpack.config.
从命令行就可以了。
建筑
但是我想创建一个构建任务,我正在使用 jake,所以为了创建包,我需要从 Javascript.[=17 调用 webpack
=]
我在网上找不到API,我基本上需要这样的东西:
// Jakefile.js
var webpack = require("webpack");
desc('This is the default build task which also bundles stuff.');
task('default', function (params) {
webpack.bundle("path-to-config"); // Something like this?
});
如何实现?
尝试 1
我试过以下方法:
// Jakefile.js
var webpack = require("webpack");
var config = require("./webpack.config.js");
desc('This is the default build task which also bundles stuff.');
task('default', function (params) {
webpack(config);
});
webpack.config.js
是我的 webpack 配置。当我从命令行使用并引用该文件时,包已正确创建。但是当使用上面的代码时,它不起作用。当我执行它时,没有错误,但是没有发出包。
在您的尝试 1 中,您似乎通过将配置传递给 webpack 方法来使用 webpack 的 Node.js API。如果你采用这种方法,webpack 方法将 return 一个编译器对象,你需要正确处理它。
例如,
import webpack from 'webpack';
var config = {}; // Your webpack config
var wpInstanceCompiler = webpack(config);
wpInstanceCompiler.run(function(err, stats) {
if (stats.hasErrors()) {
console.log(stats.toJson("verbose");
}
});
这就是您通过 Node.js API 执行 webpack 配置的方式。除非您 运行 编译器实例,否则不会生成输出。
这对我也有用:
var webpack = require("webpack");
var lib = require(path.join(__dirname, "webpack.config.js"));
desc('Builds the projects and generates the library.');
task('default', function() {
webpack(lib, function() {
console.log("Bundle successfully created!");
});
});
我正在使用 webpack 将我的 Javascript 文件捆绑到我的项目中:
webpack --config myconfig.webpack.config.
从命令行就可以了。
建筑
但是我想创建一个构建任务,我正在使用 jake,所以为了创建包,我需要从 Javascript.[=17 调用 webpack
=]
我在网上找不到API,我基本上需要这样的东西:
// Jakefile.js
var webpack = require("webpack");
desc('This is the default build task which also bundles stuff.');
task('default', function (params) {
webpack.bundle("path-to-config"); // Something like this?
});
如何实现?
尝试 1
我试过以下方法:
// Jakefile.js
var webpack = require("webpack");
var config = require("./webpack.config.js");
desc('This is the default build task which also bundles stuff.');
task('default', function (params) {
webpack(config);
});
webpack.config.js
是我的 webpack 配置。当我从命令行使用并引用该文件时,包已正确创建。但是当使用上面的代码时,它不起作用。当我执行它时,没有错误,但是没有发出包。
在您的尝试 1 中,您似乎通过将配置传递给 webpack 方法来使用 webpack 的 Node.js API。如果你采用这种方法,webpack 方法将 return 一个编译器对象,你需要正确处理它。 例如,
import webpack from 'webpack';
var config = {}; // Your webpack config
var wpInstanceCompiler = webpack(config);
wpInstanceCompiler.run(function(err, stats) {
if (stats.hasErrors()) {
console.log(stats.toJson("verbose");
}
});
这就是您通过 Node.js API 执行 webpack 配置的方式。除非您 运行 编译器实例,否则不会生成输出。
这对我也有用:
var webpack = require("webpack");
var lib = require(path.join(__dirname, "webpack.config.js"));
desc('Builds the projects and generates the library.');
task('default', function() {
webpack(lib, function() {
console.log("Bundle successfully created!");
});
});