Commit ac8c552c by 朱建香

资源环境上传

parent 2f8c449e
{
"presets": ["es2015"],
plugins: [
["transform-regenerator"],
["transform-object-assign"],
['transform-runtime', {
helpers: false,
polyfill: false,
regenerator: true}
]
]
}
\ No newline at end of file
var webpack = require('webpack');
var path = require('path');
const vendors = [
'whatwg-fetch',
'es6-promise',
'vue',
'vuex'
];
let libsDir = path.join(__dirname,"libs");
module.exports = {
output: {
path: libsDir,
filename: '[name].[chunkhash].js',
library: '[name]_[chunkhash]',
},
entry: {
vendor: vendors,
},
plugins: [
new webpack.DllPlugin({
path: path.join(libsDir,"manifest.json"),
name: '[name]_[chunkhash]',
context: __dirname,
}),
],
};
{
"name": "vue-webpack",
"version": "1.0.0",
"description": "",
"main": "webpack.config.js",
"dependencies": {
"es6-promise": "4.1.0",
"es6-symbol": "3.1.1",
"hammerjs": "2.0.8",
"iscroll": "5.2.0",
"moment": "^2.18.1",
"qrcode": "^0.9.0",
"ugen-components": "^0.3.1",
"underscore": "1.8.3",
"vue": "2.2.6",
"vue-i18n": "5.0.3",
"vue-router": "2.1.1",
"vue-touch": "2.0.0-beta.4",
"vuex": "2.3.1"
},
"devDependencies": {
"babel-core": "6.24.1",
"babel-loader": "6.4.1",
"babel-plugin-transform-async-to-generator": "6.24.1",
"babel-plugin-transform-object-assign": "6.22.0",
"babel-plugin-transform-runtime": "6.23.0",
"babel-preset-es2015": "6.24.1",
"crypto-js": "^3.1.9-1",
"css-loader": "0.28.0",
"es6-promise": "4.1.0",
"md5": "^2.2.1",
"style-loader": "0.16.1",
"vue-loader": "11.3.4",
"vue-template-compiler": "2.2.6",
"watch": "1.0.2",
"webpack": "2.3.3"
},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC"
}
var webpack = require('webpack');
var path = require('path');
var viewDir = path.join(__dirname, "..", "..", "web", "custom", "custom01", "view");
var fs = require('fs');
const i18nPlguin = require('./core/I18NPackage')
//获取src目录下面的所有.js文件
let devViewDir = __dirname + "/src/view";
let files = fs.readdirSync(devViewDir);
let entry = {};
let regexp = new RegExp("v_\\w+[.]js", "g");
getAllViewJS(devViewDir);
function getAllViewJS(dir) {
let files = fs.readdirSync(dir);
for (let file of files) {
let filePath = dir + "/" + file;
let stat = fs.lstatSync(filePath);
if (stat.isDirectory()) {
getAllViewJS(filePath);
} else if (stat.isFile()) {
let fileName = path.basename(filePath);
if (fileName.match(regexp)) {
let fPath = filePath.replace(__dirname, "");
let name = filePath.replace(devViewDir + "/", "").replace('v_', '').replace('.js', '');
entry[name] = ["." + fPath];
}
}
}
}
//entry['vendor'] = ['vue','vue-router','vue-i18n','vue-touch','vuex','underscore','es6-promise','es6-symbol'];
module.exports = {
entry: entry,
output: {
path: viewDir,
filename: '[name].js',
chunkFilename: "[name].js"
},
module: {
loaders: [{
test: /\.vue$/,
loader: 'vue-loader'
}, {
test: /\.js$/,
exclude: /(node_modules|bower_components)/,
loader: 'babel-loader'
}, {
test: /\.css$/,
loader: 'style!css'
}]
},
node: {
Buffer: false
},
resolve: {
alias: {
'vue-i18n$': 'vue-i18n/dist/vue-i18n.common.js',
'mui': '../src/public/mui.js'
}
},
plugins: [
new webpack.ProvidePlugin({
'Promise': 'es6-promise',
Vue: ['vue/dist/vue.esm.js', 'default'],
}),
new webpack.optimize.CommonsChunkPlugin({name: "../lib/js/p"}),
new i18nPlguin()
],
devtool: 'source-map'
};
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment