我正在尝试在项目中使用whammy.js。 资料的第一行是
window.Whammy = (function(){
但是当我运行npm i并查看node_modules时,我会看到
global.Whammy = (function(){
https://github.com/antimatter15/whammy/blob/master/whammy.js
{
...
"dependencies": {
"cordova": "^9.0.0",
"react": "^16.8.5",
"react-redux": "^5.0.6",
"redux": "^4.0.1",
"redux-actions": "^2.2.1",
"redux-thunk": "^2.2.0",
"whammy": "0.0.1"
},
"devDependencies": {
"@babel/core": "^7.4.0",
"@babel/preset-env": "^7.4.2",
"@babel/preset-react": "^7.0.0",
"babel-loader": "^8.0.5",
"copy-webpack-plugin": "^5.0.2",
"cordova-browser": "^6.0.0",
"del": "^4.0.0",
"enzyme": "^3.9.0",
"enzyme-adapter-react-16": "^1.11.2",
"enzyme-to-json": "^3.3.5",
"gulp": "^4.0.0",
"gulp-cli": "^2.0.1",
"gulp-jest": "^4.0.2",
"gulp-run": "^1.7.1",
"gulp-sass": "^4.0.2",
"jest-cli": "^24.5.0",
"jest-dom": "^3.1.3",
"node-sass": "^4.11.0",
"react-dom": "^16.8.5",
"react-testing-library": "^6.0.2",
"webpack": "^4.29.6",
"webpack-cli": "^3.3.0",
"webpack-stream": "^5.2.1"
},
"cordova": {
"plugins": {
"cordova-plugin-android-permissions": {},
"cordova-plugin-crosswalk-webview": {
"XWALK_VERSION": "21+",
"XWALK_LITEVERSION": "xwalk_core_library_canary:17+",
"XWALK_COMMANDLINE": "--disable-pull-to-refresh-effect",
"XWALK_MODE": "embedded",
"XWALK_MULTIPLEAPK": "true"
},
"cordova-plugin-geolocation": {},
"cordova-plugin-whitelist": {}
},
"platforms": [
"browser"
]
},
"jest": {
"verbose": true,
"globals": {
"cordova": {}
},
"collectCoverageFrom": [
"source/**/*.{js,jsx,ts,tsx}",
"!<rootDir>/node_modules/"
],
"coverageThreshold": {
"global": {
"branches": 90,
"functions": 90,
"lines": 90,
"statements": 90
}
},
"coverageReporters": [
"text"
],
"snapshotSerializers": [
"enzyme-to-json/serializer"
]
}
}
有人知道这样做是什么吗/为什么会发生? 我对webpack的猜测并不能说服我,因为它还没到使用它的地步。
答案 0 :(得分:0)
我的猜测是,您正在尝试在应用程序的前端部分运行npm软件包(通常是后端的库)。这就可以解释为什么浏览器中的全局对象window
安装到Node.JS(后端)中的全局对象global
之后会更改。
当我查看whammy页面时,我直接看到了前端的用法(没有安装npm):
<script src="whammy.js"></script>
因此,您可以直接下载文件,然后在站点上使用它。