#webpack
#webpack
Вопрос:
Я написал webpack.config.babel.js
файл, и я хочу скомпилировать некоторый код с помощью babel с указанным файлом.
Но после выполнения кода (без предупреждений и ошибок) в выходном пути нет скомпилированных файлов.
С помощью команды webpack --config webpack.config.babel.js
(и .babelrc
, конечно же) компиляция задачи завершается успешно, и в папке ‘dist /’ находятся скомпилированные файлы, которые указаны в webpack.config.babel.js
. Но ‘dist /’ ничего не содержит.
webpack.config.babel.js (примечание: этот файл написан с использованием синтаксиса es2015)
import path from 'path';
import webpack from 'webpack';
export default {
devtool: '#source-map',
entry: [
'webpack-hot-middleware/client?noInfo=trueamp;reload=true',
path.resolve(__dirname, '../src/views/index.jsx'),
],
output: {
path: path.resolve(__dirname, '../dist'),
filename: 'client.js',
publicPath: '/dist',
},
module: {
rules: [
{
test: /.(js|jsx)$/,
exclude: /node_modules/,
use: {
loader: 'babel-loader',
},
},
],
},
plugins: [
new webpack.HotModuleReplacementPlugin(),
],
};
исходный код:
Я пытаюсь скомпилировать пакет с webpack-dev-middleware и webpack-hot-middleware, если я нахожусь в режиме разработки.
server.js:
const app = express();
app.use(express.static('./'));
if (process.env.NODE_ENV === 'development') {
setupDevServer(app); // this function contains setup.dev.server.js
}
....
setup.dev.server.js (Функция setupDevServer() выше)
import webpack from 'webpack';
// import MemoryFS from 'memory-fs';
import webpackDevMiddleware from 'webpack-dev-middleware';
import webpackHotMiddleware from 'webpack-hot-middleware';
// import webpackServerConfig from './webpack.server.config.babel';
import webpackClientConfig from './webpack.client.config.babel';
export default function (express) {
const clientCompiler = webpack(webpackClientConfig);
// const serverCompiler = webpack(webpackServerConfig);
express.use(
webpackDevMiddleware(
clientCompiler,
{
publicPath: webpackClientConfig.output.publicPath,
noInfo: false,
},
),
);
express.use(
webpackHotMiddleware(clientCompiler),
);
// serverCompiler.outputFileSystem = new MemoryFS();
clientCompiler.run( // for debug purpose
(error, stats) => {
console.log(error, stats); // and there will be an error 'can not run webpack twice'
},
);
}
После выполнения должны быть скомпилированные файлы setupDevServer()
. Но ничего нет. В моей консоли нет предупреждений или ошибок, и в папке ‘dist /’ нет скомпилированных файлов.
Комментарии:
1. Так какой же это? скомпилированные файлы в папке ‘dist /’ или ‘dist /’ ничего не содержат ? Вы противоречите себе
2. С помощью commmand
webpack --config webpack.config.babel.js
он будет компилировать исходный код вdist/
. Но если я скомпилирую его с помощью кода (webpack API), скомпилированный файл не появитсяdist/
.