【发布时间】:2016-08-19 12:49:15
【问题描述】:
在我的项目中,我使用 webpack 来捆绑 JavaScript,并且我有一些模块可以导出 js 对象,例如:
module.exports = {
name: 'Test',
tableName: 'TestTable',
properties: {
id: {
description: 'identifier',
columnName: 'id'
},
title: {
description: 'title or something',
columnName: 'title'
}
}
}
这些模块供后端和前端使用。但我不想在 webpack 包中看到像“tableName”和“columnName”这样的属性。有没有办法排除它们或它们的值,但保留模块的其余部分?
UPD。我认为这可以是一种解决方案:
webpack.config.js
var webpack = require('webpack');
module.exports = {
entry: './index.js',
output: {
path: './build/',
filename: 'bundle.js'
},
plugins: [
new webpack.DefinePlugin({
P: JSON.stringify(true)
})
]
};
index.js:
var entity = require('./entity.js');
console.log(entity.tableName)
entity.js:
module.exports = {
name: 'test',
tableName: !P && 'TestTable'
}
webpack -p
输出:
bundle.js:1 false
【问题讨论】:
标签: webpack