Настройка сборки webpack

This commit is contained in:
Book Pauk
2018-12-27 21:32:35 +07:00
parent 12f9b7a401
commit 70163b07da
5 changed files with 4011 additions and 28 deletions

View File

@@ -35,7 +35,6 @@
"node/no-missing-require": "error", "node/no-missing-require": "error",
"node/no-unpublished-bin": "error", "node/no-unpublished-bin": "error",
"node/no-unpublished-import": "off", "node/no-unpublished-import": "off",
"node/no-unpublished-require": "error",
"node/no-unsupported-features/es-builtins": "error", "node/no-unsupported-features/es-builtins": "error",
"node/no-unsupported-features/es-syntax": "error", "node/no-unsupported-features/es-syntax": "error",
"node/no-unsupported-features/node-builtins": "error", "node/no-unsupported-features/node-builtins": "error",

View File

@@ -1,5 +1,5 @@
{ {
"ignore": ["node_modules", ".git", "client/**/*.*"], "ignore": ["node_modules", ".git", "client/**/*.*"],
"__exec": "node server" "ext": "js json"
} }

3984
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -4,29 +4,44 @@
"engines": { "engines": {
"node": ">=10.0.0" "node": ">=10.0.0"
}, },
"scripts": {
"dev": "nodemon --inspect server",
"build:client": "webpack --config build/webpack.prod.config.js",
"build:linux": "npm run build:client && pkg -t latest-linux-x64 -o dist/linux/liberama .",
"build:win": "npm run build:client && pkg -t latest-win-x64 -o dist/win/liberama .",
"lint": "eslint --ext=.js,.vue client server"
},
"bin": "server/index.js", "bin": "server/index.js",
"pkg": { "pkg": {
"scripts": "server/config/*.js" "scripts": "server/config/*.js"
}, },
"devDependencies": { "devDependencies": {
"babel-eslint": "^7.2.2", "babel-core": "^6.22.1",
"eslint": "^5.4.0", "babel-loader": "^7.1.1",
"babel-preset-env": "^1.3.2",
"css-loader": "^1.0.0",
"eslint": "^5.11.1",
"eslint-plugin-html": "^1.4.0", "eslint-plugin-html": "^1.4.0",
"eslint-plugin-node": "^8.0.0", "eslint-plugin-node": "^8.0.0",
"eslint-plugin-vue": "^5.0.0", "eslint-plugin-vue": "^5.0.0",
"pkg": "^4.3.5" "file-loader": "^3.0.1",
}, "pkg": "^4.3.5",
"scripts": { "url-loader": "^1.1.2",
"lint": "eslint --ext=.js,.vue client server", "vue-loader": "^15.4.2",
"build:linux": "pkg -t latest-linux-x64 -o dist/linux/liberama .", "vue-style-loader": "^4.1.2",
"build:win": "pkg -t latest-win-x64 -o dist/win/liberama .", "vue-template-compiler": "^2.5.21",
"start": "node server/index.js" "webpack": "^4.28.2",
"webpack-cli": "^3.1.2",
"webpack-dev-middleware": "^3.4.0",
"webpack-hot-middleware": "^2.24.3",
"webpack-merge": "^4.1.5"
}, },
"dependencies": { "dependencies": {
"bluebird": "^3.5.3", "bluebird": "^3.5.3",
"express": "^4.16.4", "express": "^4.16.4",
"lazy.js": "^0.5.1", "lazy.js": "^0.5.1",
"sql-template-strings": "^2.2.2", "sql-template-strings": "^2.2.2",
"sqlite": "^3.0.0" "sqlite": "^3.0.0",
"vue": "^2.5.21"
} }
} }

View File

@@ -15,6 +15,23 @@ async function main() {
log('Opening database'); log('Opening database');
await connPool.init(); await connPool.init();
if (config.branch == 'development') {
const webpack = require('webpack');
const wpConfig = require('../build/webpack.dev.config');
const compiler = webpack(wpConfig);
const devMiddleware = require('webpack-dev-middleware');
app.use(devMiddleware(compiler, {
publicPath: wpConfig.output.publicPath,
stats: {colors: true}
}));
let hotMiddleware = require('webpack-hot-middleware');
app.use(hotMiddleware(compiler, {
log: log
}));
}
app.use(express.static('public')); app.use(express.static('public'));
app.use(express.json()); app.use(express.json());