76 lines
2.7 KiB
JavaScript
76 lines
2.7 KiB
JavaScript
const path = require('path');
|
||
var webpack = require('webpack');
|
||
|
||
module.exports = {
|
||
resolve: {
|
||
extensions: ['.js', '.ts', '.json'],
|
||
},
|
||
devtool: 'source-map',// 打包出的js文件是否生成map文件(方便浏览器调试)
|
||
mode: 'production',
|
||
entry: {
|
||
'lim-sdk': './src/lim.ts',
|
||
},
|
||
output: {
|
||
filename: '[name].js',// 生成的fiename需要与package.json中的main一致
|
||
path: path.resolve(__dirname, '../dist'),
|
||
libraryTarget: process.env.platform === 'web' ? 'window' : 'umd',
|
||
library: "imsdk"
|
||
},
|
||
module: {
|
||
rules: [
|
||
{
|
||
test: /\.tsx?$/i,
|
||
use: [
|
||
|
||
{
|
||
loader: 'ts-loader',
|
||
options: {
|
||
// configFile: path.resolve(__dirname, './tslint.json'),
|
||
configFile: path.resolve(__dirname, '../tslint.json')
|
||
},
|
||
},
|
||
|
||
{
|
||
loader: 'js-conditional-compile-loader',
|
||
options: {
|
||
isDebug: process.env.NODE_ENV === 'development', // optional, this is default
|
||
WEBAPP: process.env.platform === 'web', // any name, used for /* IFTRUE_WEBAPP ...js code... FITRUE_WEBAPP */
|
||
WXAPP: process.env.platform === 'wx', // any name, used for /* IFTRUE_WXAPP ...js code... FITRUE_WXAPP */
|
||
RNAPP: process.env.platform === 'rn', // any name, used for /* IFTRUE_RNAPP ...js code... FITRUE_RNAPP */
|
||
UNIAPP: process.env.platform === 'uniapp', // any name, used for /* IFTRUE_UNIAPP ...js code... FITRUE_UNIAPP */
|
||
}
|
||
},
|
||
|
||
],
|
||
exclude: /node_modules/
|
||
}
|
||
],
|
||
},
|
||
plugins: [],
|
||
};
|
||
|
||
if (process.env.NODE_ENV === 'production') {
|
||
module.exports.devtool = '#source-map'
|
||
// http://vue-loader.vuejs.org/en/workflow/production.html
|
||
module.exports.plugins = (module.exports.plugins || []).concat([
|
||
new webpack.DefinePlugin({
|
||
'process.env': {
|
||
NODE_ENV: '"production"',
|
||
// GIT_VERSION: `${JSON.stringify(gitRevision.version())}`,
|
||
// GIT_COMMITHASH: `${JSON.stringify(gitRevision.commithash())}`,
|
||
// GIT_BRANCH: `${JSON.stringify(gitRevision.branch())}`,
|
||
PLATFORM: `${JSON.stringify(process.env.platform)}`
|
||
}
|
||
}),
|
||
// new webpack.optimize.UglifyJsPlugin({
|
||
// sourceMap: true,
|
||
// compress: {
|
||
// warnings: false
|
||
// }
|
||
// }),
|
||
// new webpack.LoaderOptionsPlugin({
|
||
// minimize: true
|
||
// })
|
||
])
|
||
}
|