Webpack具有依赖关系的多个文件

时间:2019-03-19 16:13:41

标签: javascript webpack dependencies

我使用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
};

我在做什么错了?

1 个答案:

答案 0 :(得分:0)

我的坏。 我做到了

const { enumUtils } = require('../utils/enum.utils');

代替

const enumUtils = require('../utils/enum.utils');

解决了。可以。