Config bootstrap with webpack

This commit is contained in:
Yukai Huang 2016-10-08 23:04:19 +08:00
parent 2b678c1f12
commit 8e2b03cfd6
4 changed files with 75 additions and 62 deletions

View File

@ -121,8 +121,11 @@
"bower-webpack-plugin": "^0.1.9", "bower-webpack-plugin": "^0.1.9",
"css-loader": "^0.25.0", "css-loader": "^0.25.0",
"extract-text-webpack-plugin": "^1.0.1", "extract-text-webpack-plugin": "^1.0.1",
"file-loader": "^0.9.0",
"imports-loader": "^0.6.5", "imports-loader": "^0.6.5",
"json-loader": "^0.5.4", "json-loader": "^0.5.4",
"style-loader": "^0.13.1",
"url-loader": "^0.5.7",
"webpack": "^1.13.2" "webpack": "^1.13.2"
} }
} }

View File

@ -378,5 +378,5 @@ function parseToHistory(list, notehistory, callback) {
} }
module.exports = { module.exports = {
writeHistory: writeHistory writeHistory: writeHistory
} }

View File

@ -13,6 +13,7 @@ require('../vendor/showup/showup');
/* bootstrap */ /* bootstrap */
require('bootstrap'); require('bootstrap');
require('bootstrap/dist/css/bootstrap.css');
/* code mirror plugins */ /* code mirror plugins */
require('codemirror/keymap/vim'); require('codemirror/keymap/vim');

View File

@ -3,67 +3,76 @@ var path = require('path');
var ExtractTextPlugin = require("extract-text-webpack-plugin"); var ExtractTextPlugin = require("extract-text-webpack-plugin");
module.exports = { module.exports = {
plugins: [ plugins: [
new webpack.ProvidePlugin({ new webpack.ProvidePlugin({
'_': 'lodash', '_': 'lodash',
jquery: "jquery", jquery: "jquery",
jQuery: "jquery", jQuery: "jquery",
$: "jquery", $: "jquery",
"window.jQuery": "jquery", "window.jQuery": "jquery",
Visibility: "visibilityjs", Visibility: "visibilityjs",
Cookies: "js-cookie", Cookies: "js-cookie",
CodeMirror: "codemirror", CodeMirror: "codemirror",
emojify: "emojify.js", emojify: "emojify.js",
ot: "ot", ot: "ot",
io: "socket.io-client", io: "socket.io-client",
LZString: "lz-string", LZString: "lz-string",
key: "keymaster" key: "keymaster"
}), }),
new webpack.DefinePlugin({ new webpack.DefinePlugin({
"require.specified": "require.resolve" "require.specified": "require.resolve"
}) })
],
entry: {
app: path.join(__dirname, 'public/js/app.js')
},
output: {
path: path.join(__dirname, 'public/build/js'),
filename: '[name].js'
},
resolve: {
root: [
path.resolve(__dirname, 'src'),
path.resolve(__dirname, 'node_modules')
], ],
extensions: ["", ".js"],
alias: { entry: {
'jquery-ui': 'jquery-ui/ui/widgets' app: path.join(__dirname, 'public/js/app.js')
},
output: {
path: path.join(__dirname, 'public/build/js'),
filename: '[name].js'
},
resolve: {
root: [
path.resolve(__dirname, 'src'),
path.resolve(__dirname, 'node_modules')
],
extensions: ["", ".js"],
alias: {
'jquery-ui': 'jquery-ui/ui/widgets'
}
},
module: {
loaders: [{
test: /\.json$/,
loader: 'json-loader'
}, {
test: /\.css$/,
loader: 'style-loader!css-loader'
}, , {
test: /\.scss$/,
loaders: ['style', 'css', 'sass']
}, {
test: require.resolve("js-sequence-diagrams"),
loader: "imports?Raphael=raphael"
}, {
test: /\.eot(\?v=\d+\.\d+\.\d+)?$/,
loader: "file"
}, {
test: /\.(woff|woff2)$/,
loader: "url?prefix=font/&limit=5000"
}, {
test: /\.ttf(\?v=\d+\.\d+\.\d+)?$/,
loader: "url?limit=10000&mimetype=application/octet-stream"
}, {
test: /\.svg(\?v=\d+\.\d+\.\d+)?$/,
loader: "url?limit=10000&mimetype=image/svg+xml"
}]
},
node: {
fs: "empty"
} }
},
module: {
loaders: [{
test: /\.json$/,
loader: 'json-loader'
}, {
test: /\.css$/,
loader: ExtractTextPlugin.extract({
fallbackLoader: "style-loader",
loader: "css-loader"
})
}, {
test: /\.scss$/,
loaders: ['style', 'css', 'sass']
}, {
test: require.resolve("js-sequence-diagrams"),
loader: "imports?Raphael=raphael"
}]
},
node: {
fs: "empty"
}
}; };