Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

关于Sample2 Webpack例子运行的其他疑问 #5

Open
Ander456 opened this issue Oct 19, 2023 · 5 comments
Open

关于Sample2 Webpack例子运行的其他疑问 #5

Ander456 opened this issue Oct 19, 2023 · 5 comments

Comments

@Ander456
Copy link

查看了Sample2的 webpack的例子

     env = new JsEnv(new TSLoader(System.IO.Path.Combine(Application.dataPath, "../Puer-Project/out")));
     env.ExecuteModule("main.mts");

引入了 Axios 运行okay, 这样的形式 我理解了,但是我有一个其他形式的用法比如 xlua,那种一个MonoBehaviour对应一个Ts脚本的情况
伪代码

class test : xx
{
      protected override void InternalAwake()
        {
            base.InternalAwake();
            _jsContext = JSComponentContext.Get(Context);
            _scriptProxy = _jsContext.LoadScript(this, _scriptName, _componentName);
            // awake
            var proxyCall = _scriptProxy.Get<Action<string>>("call");
            proxyCall.Invoke(fn);
        }
}

那如果是这样的情况 是否 还能使用webpack呢?
使用webpack的主要想法是可以把相关的 第三方库 都可以通过webpack自动引入

@zombieyang
Copy link
Owner

用tsloader的时候,业务逻辑也用webpack我觉得没有什么必要。
axios就已经是一个第三方库了,其它第三方库应该也可以用这一套才对。

@Ander456
Copy link
Author

也就是说 第三方库 采用axios 这种形式 引入。但是 业务逻辑还是散文件是吧。
那最终输出应该就是
业务Scripts目录/**/*.js 所有的业务脚本
第三方库xx.js
是不是就是没有太好的方案 可以tsloader 和 webpack业务一起用

@zombieyang
Copy link
Owner

zombieyang commented Oct 20, 2023

tsloader是想省去写业务代码时还要启动一个另外的进程watch+编译的麻烦,加入了webpack结果还是引入了另一个编译窗...有点背道而驰

实际上你也不一定要使用tsloader,把它当示例程序,抠代码出来用也是可以的。比如把source-map,console-redirect等功能拿出去,其它自己写。或者直接打开DISABLE_EDITOR_FEATURE

@Ander456
Copy link
Author

明白你的意思了,就是有个很不成熟的想法
比如 我的业务逻辑引用了第三方库(比如node_modules里的一些兼容unity+puerts运行时的库)。我的想法是用webpack 把引用的一起打包进来 ,要不然发布收集是个问题。(当然可以要求把库打成.js放到目录里一起打包但是没有npm的方便)
所以才想到了这些,不知道有什么好的解决办法,让业务逻辑也是散的但是依赖的库可以自动收集

@zombieyang
Copy link
Owner

zombieyang commented Oct 20, 2023

明白你的意思了,就是有个很不成熟的想法 比如 我的业务逻辑引用了第三方库(比如node_modules里的一些兼容unity+puerts运行时的库)。我的想法是用webpack 把引用的一起打包进来 ,要不然发布收集是个问题。(当然可以要求把库打成.js放到目录里一起打包但是没有npm的方便) 所以才想到了这些,不知道有什么好的解决办法,让业务逻辑也是散的但是依赖的库可以自动收集

是有道理。或许可以考虑平时开发时按Sample4的做法跑,对大部份人没有理解成本。最终上线再由一个懂的人统一将依赖库用webpack打包压缩。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants