Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Webpack 从requireJS迁移到Web包_Webpack_Backbone.js_Requirejs - Fatal编程技术网

Webpack 从requireJS迁移到Web包

Webpack 从requireJS迁移到Web包,webpack,backbone.js,requirejs,Webpack,Backbone.js,Requirejs,我正在尝试将我的旧主干项目从RequireJS迁移到Webpack。也许只是不完全理解webpack是如何工作的,但下面是代码 main.js: require(['application'], function(App) { App.initialize() }) application.js: define(['router'], function(Router) { return { initialize: function() { Router.initia

我正在尝试将我的旧主干项目从RequireJS迁移到Webpack。也许只是不完全理解webpack是如何工作的,但下面是代码

main.js:

require(['application'], function(App) {
  App.initialize()
})
application.js:

define(['router'], function(Router) {
  return {
    initialize: function() {
      Router.initialize()
    }
  }
})
由于某种原因,当我运行webpack命令时,函数(…){…}中的代码根本不执行。我把console.log放在define和require的内部和外部,外部的是控制台中的日志,内部的不是。这是不是应该发生在主干网和网页包上?我不明白。这是我的网页配置:

var path = require('path')
var webpack = require('webpack')

module.exports = {
  entry: './main',
  context: path.resolve(__dirname, 'webapp/javascripts/app'),
  output: {
    filename: 'bundle.js'
  },

  devServer: {
    contentBase: path.join(__dirname, 'dist')
    ,
  module: {
    rules: [
      {
        test: /\.css$/i,
        use: ['style-loader', 'css-loader']
      },
      {
        test: /\.js$/,
        exclude: /node_modules/,
        use: ['babel-loader']
      },
      {
        test: /\.html$/,
        loaders: 'text-loader',
        exclude: /node_modules/
      },
      {
        test: /\.(png|woff|woff2|ico|eot|ttf|svg|gif|jpe?g)$/,
        loader: 'url-loader?limit=100000'
      },
      {
        test: /\.(mp3|ogg)$/,
        loader: 'file-loader'
      }
    ]
  },
  resolve: {
    modules: [
      path.resolve(__dirname, 'node_modules'),
      path.resolve(__dirname, 'webapp/javascripts/app/')
    ],
  plugins: [
    new webpack.ProvidePlugin({
      $: 'jquery',
      jQuery: 'jquery',
      'window.jQuery': 'jquery',
      _: 'underscore',
      Backbone: 'backbone',
    })
  ]
}

我通过使用ES6导入导出重写
define([…],function(…){…})
来修复它