Webpack:在运行时

时间:2017-07-10 19:04:20

标签: javascript typescript webpack require remote-server

我目前正在开发一个库,它应该从远程主机动态加载JavaScript并实例化它。

我正在使用TypeScript编写库,我的计划是使用Webpack作为捆绑器。

在另一台主机(远程系统)上运行应提供JavaScript代码的提供程序(请参阅此处:https://stubs.d-koppenhagen.de/stubs/SimpleStub.js)。 该库将动态地解析"身份"通过Webfinger。这些标识由一个对象表示,并且它们具有指向" Stub Provider"它将提供JavaScript代码(我之前提到的链接)。我的库应该在运行时加载这个脚本(库之前不知道这个存根的目标)并且应该使用它。

目前我的webpack.config.js如下所示:

var path = require('path');
var webpack = require('webpack');
var WebpackBuildNotifierPlugin = require('webpack-build-notifier');
const ExtractTextPlugin = require('extract-text-webpack-plugin');

const PATHS = {
  src: path.join(__dirname, './src'),
  build: path.join(__dirname, './dist')
};

module.exports = {

  entry: {
    wonder: PATHS.src + '/wonder'
  },
  output: {
    path: PATHS.build,
    filename: '[name].js',
    library: 'Wonder',
    libraryTarget: 'umd'
  },
  devtool: 'source-map',
  module: {
    loaders: [
      {
        test: /\.ts$/,
        loader: 'ts-loader'
      }
    ]
  },
  resolve: {
    extensions: ['.ts', '.js']
  },
  plugins: [
    new WebpackBuildNotifierPlugin()
  ]
};

这是图书馆代码的一部分:

require.ensure([], function() {
  require(localMsgStubUrl);
});

当我现在将捆绑的库包含在示例应用程序中时,我将收到以下错误: Error: loading chunk failed

那么有没有办法告诉webpack不要捆绑从URL加载的外部资源所需的代码,以便我可以像使用那样使用该代码?

我不想在配置中静态告诉webpack网址,因为我加载的其他存根可能位于不同的目标上。

提前感谢您的帮助!

0 个答案:

没有答案