Skip to content

Instantly share code, notes, and snippets.

@wyqydsyq
Created July 19, 2016 04:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save wyqydsyq/b8f1f5619bd0f7c6197862160a5bb8a0 to your computer and use it in GitHub Desktop.
Save wyqydsyq/b8f1f5619bd0f7c6197862160a5bb8a0 to your computer and use it in GitHub Desktop.
Webpack + Hapi issue
{
"presets": ["es2015","es2016"],
"only": ["**/src/ui/**.js", "**/src/server.js"],
"ignore": "**/node_modules/**.js",
"sourceMaps": "inline",
"plugins": [
["cycle-hmr/xstream", {
"include": "**/src/ui/**.js",
"testExportName": "^[A-Z]|default"
}]
]
}
var webpack = require('webpack'),
path = require('path'),
CopyWebpackPlugin = require('copy-webpack-plugin'),
webpackEnv = require('webpack-env');
var config = {
context: path.resolve(__dirname),
devtool: 'source-map',
plugins: [
new webpack.HotModuleReplacementPlugin(),
new webpack.NoErrorsPlugin(),
new webpack.DefinePlugin(webpackEnv.definitions)
],
module: {
loaders: [
{
test: /\.js$/,
exclude: /(node_modules|\.tmp|webpack)/,
loader: 'babel?extends=' + path.resolve(__dirname, '.babelrc')
},
{
test: /\.less$|\.css$/,
loader: 'style!css?camelCase&minimize&discardDuplicates&-import&modules&importLoaders=1&localIdentName=[name]__[local]___[hash:base64:5]!less'
},
{
test: /\.jpe?g$|\.gif$|\.png$|\.wav$|\.mp3$/,
loader: 'url?limit=100000'
},
{
test: /\.woff(\?v=\d+\.\d+\.\d+)?$/,
loader: "url?limit=10000&mimetype=application/font-woff"
},
{
test: /\.woff2(\?v=\d+\.\d+\.\d+)?$/,
loader: "url?limit=10000&mimetype=application/font-woff"
},
{
test: /\.ttf(\?v=\d+\.\d+\.\d+)?/,
loader: "url?limit=10000&mimetype=application/octet-stream"
},
{
test: /\.eot(\?v=\d+\.\d+\.\d+)?/,
loader: "file"
},
{
test: /\.svg(\?v=\d+\.\d+\.\d+)?/,
loader: "url?limit=10000&mimetype=image/svg+xml"
},
{
test: /\.json$/,
loader: 'json'
}
]
},
resolve: {
modulesDirectories: ['node_modules', 'src/ui', 'assets'],
extensions: ['', '.js', '.less']
},
assets: {}
};
var client = Object.assign({}, config, {
entry: [
'./src/client.js',
'webpack-hot-middleware/client'
],
target: 'web',
output: {
path: path.resolve(__dirname, '.tmp/'),
publicPath: '/',
filename: 'client.js'
}
});
var server = Object.assign({}, config, {
entry: [
'./src/server.js'
],
target: 'node',
output: {
path: path.resolve(__dirname, '.tmp/'),
publicPath: '/',
filename: 'server.js'
}
});
module.exports = [client, server];
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment