#1 - 2018-3-19 13:20
東瀬まつり🦋❄️🐻💎🐺🍎🐠 ([s]安静点格子[/s] ☄️⚓ ☁️⭐️)
具体问题是这样的:
要调用百度地图的js,一开始是把js调用写在index.html里,创建的map变量也在index里(main变量是控制整个api的)。这样的话需要用到map变量的函数就得全部写在index里了。
结果现在函数越写越多找都不好找(bgm28),就想分个文件。如果把需要用的百度api的函数都放到js文件里就涉及到了js文件引用js文件的问题。百度查了下方法挺多的,试了一种
new_element=document.createElement("script");
  new_element.setAttribute("type","text/javascript");
  new_element.setAttribute("src","a.js");// 在这里引入了a.js
  document.body.appendChild(new_element);
  function b() {
   a();
  }

好像也没有用,调用api里的函数的时候报undefined(还没仔细看)

有点怀疑我这样分文件对不对啊,js一般会这样写吗,一般遇到这样的情况会怎么做?
#2 - 2018-3-19 14:28
(那谁谁家那小谁)
现在的话都用什么webpack啊requireJS啊AMD CMD什么的了……往简单了说从ES几之后好像是有require()这种东西的。createElement这种东西挺老了……
#2-1 - 2018-3-19 15:15
東瀬まつり🦋❄️🐻💎🐺🍎🐠
新手怎么样才能入门这些啊(bgm38)
#2-2 - 2018-3-19 15:57
zodiacg
東瀬まつり太 说: 新手怎么样才能入门这些啊
布吉岛……好几年没关注这些了
#2-3 - 2018-3-23 20:11
Tunar
zodiacg 说: 布吉岛……好几年没关注这些了
浏览器端从来没有require,现在只有import(es6)
require是node环境的common js规范
#2-4 - 2018-3-23 23:25
zodiacg
Tunar 说: 浏览器端从来没有require,现在只有import(es6)
require是node环境的common js规范
这样啊…那就是记错了(bgm38)
#2-5 - 2018-3-24 10:47
Franklin Yu
Tunar 说: 浏览器端从来没有require,现在只有import(es6)
require是node环境的common js规范
RequireJS 有個 require() 函數,不過跟 CommonJS 的不一樣
#2-6 - 2018-3-25 12:47
Tunar
Franklin Yu 说: RequireJS 有個 require() 函數,不過跟 CommonJS 的不一樣
哦哦,你说外部库的话是有require,requirejs或者seajs
#2-7 - 2018-3-27 03:45
橘枳橼
Franklin Yu 说: RequireJS 有個 require() 函數,不過跟 CommonJS 的不一樣
RequireJS我记得是AMD还是CMD的,用的callback
#3 - 2018-3-19 15:12
写html不是<script type="text/javascript" src="foo.js"></script>吗,能操作index.html为什么不直接写进去
#3-1 - 2018-3-19 15:25
東瀬まつり🦋❄️🐻💎🐺🍎🐠
原来这样就可以了,感觉自己傻了(bgm74),不过这样在index里写的脚本的全局变量别的js文件里的函数用不了有什么办法吗→_→
#3-2 - 2018-3-19 16:38
后圣域传说
東瀬まつり太 说: 原来这样就可以了,感觉自己傻了,不过这样在index里写的脚本的全局变量别的js文件里的函数用不了有什么办法吗→_→
在HTML文件里引用其他JS文件的前面先定义全局变量试试看?像这样:
<script type='text/javascript'>var bar;</script>
<script type='text/javascript' src="foo.js"></script>
#3-3 - 2018-3-19 18:37
東瀬まつり🦋❄️🐻💎🐺🍎🐠
后圣域传说 说: 在HTML文件里引用其他JS文件的前面先定义全局变量试试看?像这样:
<script type='text/javascript'>var bar;</script>
<script type='te...
可以了,谢谢!(bgm25)
#4 - 2018-3-19 15:14
不是把相关的js统一引用到html文件里吗
#5 - 2018-3-19 15:22
你这样写的确会 undefined 的,因为 script 加载的脚本的执行跟后面的 js 的执行顺序不能保证一定是谁先谁后的。也就是说先执行了后面的 js ,所以找不到。
现在 js 的模块标准都用 webpack 了,不过配置起来比较复杂。最简单的方法应该就是在 html 里直接引用多个 js ,比如把你的公共函数放到一个 lib.js 里:
<script src="lib.js"></script>
<script>
// 这里使用 lib.js 里定义的函数
</script>
#6 - 2018-3-19 15:29
(就是没有)
复制,粘贴(bgm38)
#7 - 2018-3-19 18:48
(誰か散らせ 僕がここに居たという証も ...)
一般来说不是用node那些framework吗?
为什么要这样在html引用?(bgm36)
#7-1 - 2018-3-19 18:52
fantasy
+1
#8 - 2018-3-19 18:51
可以用es6 module(虽然Firefox的支持还要再等两个月……)
#8-1 - 2018-3-20 09:29
Franklin Yu
這種要 flag 的特性一般在多久以後能默認打開?比如說 dialog
#8-2 - 2018-3-20 09:45
LunarShaddow🌙
原来es是ECMAScript,也就是js的全称的简称……学习了
#8-3 - 2018-3-20 11:14
upsuper
Franklin Yu 说: 這種要 flag 的特性一般在多久以後能默認打開?比如說 dialog
一般要等实现得差不多了打开,什么时候打开基本取决于实现情况和标准状况……dialog我记得很多东西还没实现而且我没听说有人在做这个所以……
#8-4 - 2018-3-20 13:19
Franklin Yu
LunarShaddow 说: 原来es是ECMAScript,也就是js的全称的简称……学习了
沒記錯的話,原則上來說 JavaScript 只是 ECMAScript 的一個 implementation
#8-5 - 2018-3-20 13:20
Franklin Yu
upsuper 说: 一般要等实现得差不多了打开,什么时候打开基本取决于实现情况和标准状况……dialog我记得很多东西还没实现而且我没听说有人在做这个所以……
那我還是繼續用第三方庫吧 b38
#8-6 - 2018-3-20 19:34
東瀬まつり🦋❄️🐻💎🐺🍎🐠
好高端(bgm35)这些是要自己google英文资料学习吗?
#8-7 - 2018-3-21 09:19
Franklin Yu
東瀬まつり太 说: 好高端这些是要自己google英文资料学习吗?
不用谷歌,MDN 的就不錯。不過中文是機翻,編者太少了…… 一邊看一邊練,上手很快的。
#9 - 2018-3-20 09:30
(讓一切都自動化!)
1. 和後端共用模塊麼?
2. 願意在發佈之前多一道編譯工序麼?
#9-1 - 2018-3-20 22:24
月火
typescript + node?
#9-2 - 2018-3-21 09:12
Franklin Yu
月火 说: typescript + node?
TS 的話就 Webpack 吧……