鍍金池/ 問答/HTML/ 通過require引用jtopo報(bào)錯(cuò)JTopo未定義

通過require引用jtopo報(bào)錯(cuò)JTopo未定義

想引入jtopo.js,直接在html中引入沒有問題,但是使用require之后,就會(huì)提示jtopo未定義,請問這是為什么呀?
圖片描述
圖片描述

圖片描述

圖片描述

回答
編輯回答
扯機(jī)薄

樓主解決了嗎,遇到了同樣的問題

2018年5月8日 12:33
編輯回答
熟稔

目前找到兩種解決方法,一種是在webpack里面配置external,還有一種是

{
                    test: require.resolve('./'+ app +'/jtopo-0.4.8-min.js'),
                    loader: 'exports-loader?window.JTopo!script-loader'
                }

然后引入的時(shí)候require("exports?window.JTopo!../../../../jtopo-0.4.8-min");
區(qū)別是第一種不會(huì)打包在一起,第二種會(huì)打包在一起。

2018年2月21日 12:15
編輯回答
晚風(fēng)眠

首先我不確認(rèn)你是不是基于 Node.js 的構(gòu)建的前端工程,但是需要注意運(yùn)行在瀏覽器端的script和模塊引用不要混淆,下面是vue的源文件的不同引用方式:

UMD:UMD 版本可以通過 <script> 標(biāo)簽直接用在瀏覽器中。jsDelivr CDN 的 https://cdn.jsdelivr.net/npm/vue 默認(rèn)文件就是運(yùn)行時(shí) + 編譯器的 UMD 版本 (vue.js)。

CommonJS:CommonJS 版本用來配合老的打包工具比如 Browserify 或 webpack 1。這些打包工具的默認(rèn)文件 (pkg.main) 是只包含運(yùn)行時(shí)的 CommonJS 版本 (vue.runtime.common.js)。

ES Module:ES module 版本用來配合現(xiàn)代打包工具比如 webpack 2 或 Rollup。這些打包工具的默認(rèn)文件 (pkg.module) 是只包含運(yùn)行時(shí)的 ES Module 版本 (vue.runtime.esm.js)。

2018年9月20日 21:38
編輯回答
護(hù)她命
var JTopo = require('./js/jtopo')
2018年7月17日 23:51