Webpack在脚本中导入节点模块

时间:2017-03-16 09:26:13

标签: javascript angular webpack

我有一个Webpack angular 2应用程序,我有一个日期选择器模块依赖于使用Moment的库。问题是如果我不像以下那样导入它:

<script src="./../node_modules/moment/min/moment.min.js"></script>

如果我想使用它,会引发moment is not defined错误。我尝试用require来导入片刻,但没有考虑到它。

问题是脚本src标签在本地工作但在webpack构建版本中我们需要部署node_modules的路径不再存在。除了在lib文件夹中粘贴moment.min.js之外,还有办法吗?

1 个答案:

答案 0 :(得分:1)

在webpack.conf.js中添加以下代码:

resolve: {
    alias: {
        'moment': 'moment/min/moment.min'
    }
}

现在你可以在js文件中执行require('moment')

注意:默认情况下,webpack会搜索node_modules文件夹中的文件。您可以使用resolve对象的modules属性指示它查看特定位置。 生成的代码如下所示:

resolve: {
    modules: ['lib/','some_folder/node_modules'...],
    alias: {
        'moment': 'moment/min/moment.min'
    }
}