由webpack创建的捆绑js文件未在另一台服务器上运行

问题描述

Server1使用webpack创建了bundle.js文件,它可以在Server1上完美运行。

假设我的js文件是这样的:

import { startExample } from './components/MyExample';

alert("POC worked!");
startExample();

startExample正在做一个简单的工作,如另一个警报。

Application2使用Server1加载与服务js文件的云相同的js文件。但是,当我将其放在html的<script></script>标记中时,它不会运行。正在加载的文件采用以"window.webpackJsonp = ..."开头的小型js文件的格式。

我的目标是bundle.js在Application2上运行。

我的理解是,Application2上的html文件中缺少某些软件包或js文件,因此它可以理解webpackJsonP的这种缩小的奇怪语法是什么意思?但是我不知道那是什么?

Server1是具有标准文件夹结构的ASP.Net Core应用程序。 Webpack在wwwroot / Scripts / bundle.js下创建bundle.js。假设在Server1上添加一个cshtml文件,然后添加bundle.js(以及其他一些依赖项),并且在该文件中可以完美运行。

我关注了this post。它删除了创建的bundle.js文件webpackJsonP部分。新的bundle.js文件开始如下:

!function(e) {
    function t(t) {

但是它仍然不能在Application2上运行。

我的原始文件tsx文件。我尝试使用tsc一个tsConfig.js文件一个文件转换一个js文件(我将所有代码放在一个文件中,而不是使用单独的模块),并在Application2中使用了新的js文件。 html。我在想我的Application2可能不理解该语法。我在amd中使用了tsConfig模块,我知道它在其他地方的Application2中也使用过。这个新文件就是这样

var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
define(["require","exports...

这也不起作用。我在js生成代码之前添加了警报:

alert("This is before tsc translate tsx to js!");
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};...

添加的警报有效,但是到目前为止,已编译的js(由webpacktsc编译的js仍无法正常工作。

我想我需要在我的原始js文件中导出某些内容,然后导入并调用Application2中的函数以使其正常工作。不确定如何。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)