requirejs定义一个模块无法获取返回值

时间:2017-05-31 03:49:24

标签: javascript requirejs

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

  

console.log(m)// undefined

但是我定义了模块" t"作为内部的依赖,它可以得到回报 值,请参阅代码。

  

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>
&#13;
&#13;
&#13;

这是main.js:

&#13;
&#13;
define("m",[],function(){

    return "test";
})
&#13;
&#13;
&#13;

那么它的错误是什么?

1 个答案:

答案 0 :(得分:0)

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

define([],function(){

    return "test";
});

您的HTML将是:

&#13;
&#13;
<!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>
&#13;
&#13;
&#13;

这是一个有效的pen