我使用Webpack创建一个库,以在我的所有项目(客户端和服务器)中使用。
这是我的 webpack.config.js :
if
这是我的 enums.js:
Function (num) {
return num.toFloat()
}
这是我的 config.enum.js
const path = require('path');
const libraryName = 'shared';
const config = {
mode: 'development',
entry: {
utils: `${__dirname}/src/shared/utils.js`,
enums: `${__dirname}/src/shared/enums.js`
},
devtool: 'inline-source-map',
output: {
path: `${__dirname}/dist`,
filename: '[name].js',
library: libraryName,
libraryTarget: 'umd',
umdNamedDefine: true,
globalObject: 'typeof self !== "undefined" ? self : this'
},
externals: {
moment: {
commonjs: 'moment',
commonjs2: 'moment',
amd: 'moment',
root: 'moment'
}
},
module: {
rules: [{
test: /(\.jsx|\.js)$/,
loader: 'babel-loader',
exclude: /(node_modules|bower_components)/
}]
},
resolve: {
modules: [path.resolve('./node_modules'), path.resolve('./src')],
extensions: ['.json', '.js']
}
};
module.exports = config;
这是我的 utils.js:
import { EnvironmentMode} from './enums/config.enum';
export { EnvironmentMode };
这是我的 enum.utils.js
const { enumUtils } = require('../utils/enum.utils');
// This enum define the possible environment mode of the application.
const EnvironmentMode = enumUtils.createEnum(new Map([
['DEVELOPMENT', 'development'],
['TEST_LOCAL', 'test_local'],
['TEST_LOCAL_DEMO', 'test_local_demo'],
['TEST_DEMO', 'test_demo'],
['TEST_LINUX', 'test_linux'],
['PRODUCTION', 'production']
]));
module.exports = {
EnvironmentMode: EnvironmentMode
};
由于某种原因,当我构建项目并将编译后的代码注入到项目中,运行任何项目时,都会出现以下错误:
import enumUtils from './utils/enum.utils';
export {
enumUtils
};
我在做什么错了?
答案 0 :(得分:0)
我的坏。 我做到了
const { enumUtils } = require('../utils/enum.utils');
代替
const enumUtils = require('../utils/enum.utils');
解决了。可以。