0

我正在使用带有以下代码的 webpack

var webpack = require("webpack");    
module.exports = [
{
  name: 'libs',
  entry: [   
      'js/jstz.js',
      'js/jstz_min.js'
    ],
  output:{
        filename: "libs.js"
    },  
  resolve: {
      alias: {
        jstz_min: 'jstz_min.js'
      }
  }
},    
{
  name: 'main',
  entry:  [
       'jstzDemo.js'
      ],
  output: {
    filename: "main.js"
  }
}];

在 jstzDemo.js 我有以下代码

 function getTimezoneName() {
        timezone = jstz_min.determine()
        return timezone.name();
    }

在 index.html 中,我包含了 libs.js 和 main.js,它们是 webpack 的输出文件

我从 jstz_min 下载了jstz_min

问题是在加载页面时出现“ReferenceError: jstz_min is not defined”错误。webpack.config.js 中需要进行任何更改吗?

4

1 回答 1

0

未经测试,但您的配置可以更改为:

var webpack = require("webpack");    
module.exports = [
{
  entry: {
      main: 'jstzDemo.js',
      libs: 'js/jstz_min.js'
  },
  output:{
      filename: "[name].js"
  },
  plugins: [
    new webpack.optimize.CommonsChunkPlugin('libs', 'libs.js')
  ]
}];

jstzDemo.js:

var jstz = require('js/jstz_min.js');

function getTimezoneName() {
    timezone = jstz.determine()
    return timezone.name();
}
于 2016-03-21T08:50:48.630 回答