requirejs define a module 取不到return值

requirejs define a module can not get the return value

导入外部链接时无法获取导出值 js 文件(main.js)作为 requirejs 的依赖项,请参阅代码。

console.log(m) //undefined

但是我在内部将模块"t"定义为依赖,它可以获得return 值,见代码。

console.log(n) //test

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Document</title>
</head>
<body>

    <script src="https://cdn.bootcss.com/require.js/2.3.3/require.min.js" ></script>

 <script type="text/javascript">
            define("t",["main"],function(m){
             console.log(m) //undefined
             
             return "test";
             
            });
            require(["t"],function(n){
             console.log(n) //test
             
            });
        </script>
</body>
</html>

这里是 main.js:

define("m",[],function(){

    return "test";
})

那么它有什么问题呢?

像这样定义您的 main.js 模块,它应该可以正常工作:

define([],function(){

    return "test";
});

您的 HTML 将是:

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>

<body>

  <script src="https://cdn.bootcss.com/require.js/2.3.3/require.min.js"></script>

  <script type="text/javascript">
    requirejs.config({
      baseUrl: '/', // set proper base path


      paths: {

        "main": "...path to main js...."

      }


    });

    define("t", ["main"], function(m) {
      console.log(m) 

      return "test";

    });

    require(["t"], function(n) {
      console.log(n) //test

    });
  </script>
</body>

</html>

这是一个有效的pen